91 lines
2.3 KiB
Python
91 lines
2.3 KiB
Python
from otp.speedchat.SCMenu import SCMenu
|
|
from otp.speedchat import SCMenuHolder
|
|
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
|
|
from otp.otpbase import OTPLocalizer
|
|
ZoneToMsgs = {3: [1803, 1903],
|
|
4: [1804, 1904],
|
|
5: [1805, 1905],
|
|
6: [1806, 1906],
|
|
7: [1807, 1907],
|
|
8: [1808, 1908],
|
|
9: [1809, 1909],
|
|
10: [1810, 1910],
|
|
11: [1811, 1911],
|
|
12: [1812, 1912],
|
|
13: [1813, 1913],
|
|
14: [1814, 1914],
|
|
15: [1815, 1915],
|
|
16: [1816, 1916],
|
|
17: [1817, 1917],
|
|
18: [1818, 1918],
|
|
19: [1819, 1919],
|
|
20: [1820, 1920],
|
|
21: [1821, 1921],
|
|
22: [1822, 1922],
|
|
23: [1823, 1923],
|
|
24: [1824, 1924],
|
|
25: [1825, 1925],
|
|
27: [1827, 1927],
|
|
30: [1830, 1930],
|
|
31: [1831, 1931],
|
|
32: [1832, 1932],
|
|
33: [1833, 1933],
|
|
34: [1834, 1934],
|
|
35: [1835, 1935],
|
|
36: [1836, 1936],
|
|
37: [1837, 1937],
|
|
38: [1838, 1938],
|
|
40: [1840, 1940],
|
|
41: [1841, 1941],
|
|
60: [1860, 1960],
|
|
61: [1861, 1961]}
|
|
GLOBAL_MSGS = [1700,
|
|
1701,
|
|
1702,
|
|
1703,
|
|
1704]
|
|
|
|
class TTSCFactoryMenu(SCMenu):
|
|
|
|
def __init__(self):
|
|
SCMenu.__init__(self)
|
|
self.meetMenuHolder = None
|
|
zoneId = base.cr.playGame.getPlaceId()
|
|
if zoneId and zoneId == 11000:
|
|
meetMenu = SCMenu()
|
|
for msgIndex in OTPLocalizer.SCFactoryMeetMenuIndexes:
|
|
term = SCStaticTextTerminal(msgIndex)
|
|
meetMenu.append(term)
|
|
|
|
self.meetMenuHolder = SCMenuHolder.SCMenuHolder(OTPLocalizer.SCMenuFactoryMeet, meetMenu)
|
|
self[0:0] = [self.meetMenuHolder]
|
|
self.accept('factoryZoneChanged', self.__zoneChanged)
|
|
self.__zoneChanged()
|
|
return
|
|
|
|
def destroy(self):
|
|
self.ignore('factoryZoneChanged')
|
|
SCMenu.destroy(self)
|
|
|
|
def __zoneChanged(self, zoneId = 0):
|
|
if self.meetMenuHolder:
|
|
del self[0]
|
|
self.clearMenu()
|
|
try:
|
|
lt = base.localAvatar
|
|
except:
|
|
return
|
|
|
|
phrases = []
|
|
|
|
def addTerminal(terminal, self = self, phrases = phrases):
|
|
displayText = terminal.getDisplayText()
|
|
if displayText not in phrases:
|
|
self.append(terminal)
|
|
phrases.append(displayText)
|
|
|
|
for msg in GLOBAL_MSGS + ZoneToMsgs.get(zoneId, []):
|
|
addTerminal(SCStaticTextTerminal(msg))
|
|
|
|
if self.meetMenuHolder:
|
|
self[0:0] = [self.meetMenuHolder]
|