class ChatBubble: def __init__(self, text, unit): self.creation_time = datetime.now() font = MainFont() frame_padding = 0.3 half_frame_length = len(text) * 0.1 + frame_padding self.bubble_text = DirectLabel( text=text, pos=(0, 0, 0.66), scale=0.04, parent=unit.base_node, text_bg=(0, 0, 0, 0), text_fg=(1, 1, 1, 1), frameColor=(0, 0, 0, 0), text_font=font, ) self.bubble_frame = DirectFrame(pos=(0, 0.01, 0.67), scale=0.1, parent=unit.base_node, frameColor=(0, 0, 0, 0.5), frameSize=(-half_frame_length, half_frame_length, -0.5, 0.5)) self.bubble_text.set_compass(core.instance.camera) self.bubble_frame.set_compass(core.instance.camera) def destroy(self): self.bubble_text.destroy() self.bubble_frame.destroy()