from direct.showbase import PythonUtil from otp.speedchat.SCMenu import SCMenu from otp.speedchat.SCMenuHolder import SCMenuHolder from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal from otp.otpbase import OTPLocalizer AprilToonsMenu = [(OTPLocalizer.AprilToonsMenuSections[1], [30100, 30102]), (OTPLocalizer.AprilToonsMenuSections[2], [30110, 30111, 30112, 30113, 30114, 30115]), (OTPLocalizer.AprilToonsMenuSections[3], [30120, 30121, 30122, 30123, 30124, 30125, 30126]), (OTPLocalizer.AprilToonsMenuSections[4], [30130, 30131, 30132, 30133]), (OTPLocalizer.AprilToonsMenuSections[0], [30140, 30141])] class TTSCAprilToonsMenu(SCMenu): def __init__(self): SCMenu.__init__(self) self.__aprilToonsMessagesChanged() submenus = [] def destroy(self): SCMenu.destroy(self) def clearMenu(self): SCMenu.clearMenu(self) def __aprilToonsMessagesChanged(self): self.clearMenu() try: lt = base.localAvatar except: return for section in AprilToonsMenu: if section[0] == -1: for phrase in section[1]: if phrase not in OTPLocalizer.SpeedChatStaticText: print('warning: tried to link April Toons phrase %s which does not seem to exist' % phrase) break self.append(SCStaticTextTerminal(phrase)) else: menu = SCMenu() for phrase in section[1]: if phrase not in OTPLocalizer.SpeedChatStaticText: print('warning: tried to link April Toons phrase %s which does not seem to exist' % phrase) break menu.append(SCStaticTextTerminal(phrase)) menuName = str(section[0]) self.append(SCMenuHolder(menuName, menu))