From 56f312a1d703a14ce486889d2e33ae900681caa9 Mon Sep 17 00:00:00 2001 From: Zach Date: Tue, 21 Apr 2015 13:44:10 -0500 Subject: [PATCH] TrackShop gui and air_cache fix --- .gitignore | 1 - astron/databases/.gitignore | 1 + astron/databases/air_cache/.gitignore | 1 + toontown/makeatoon/TrackShop.py | 97 ++++++++++----------------- 4 files changed, 39 insertions(+), 61 deletions(-) create mode 100644 astron/databases/.gitignore create mode 100644 astron/databases/air_cache/.gitignore diff --git a/.gitignore b/.gitignore index 52d61096..76833471 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,6 @@ # Game-specific files and directories: preferences.json *.json -*.pets logs/ screenshots/ backups/ diff --git a/astron/databases/.gitignore b/astron/databases/.gitignore new file mode 100644 index 00000000..3997bead --- /dev/null +++ b/astron/databases/.gitignore @@ -0,0 +1 @@ +*.db \ No newline at end of file diff --git a/astron/databases/air_cache/.gitignore b/astron/databases/air_cache/.gitignore new file mode 100644 index 00000000..73350e1b --- /dev/null +++ b/astron/databases/air_cache/.gitignore @@ -0,0 +1 @@ +*.pets \ No newline at end of file diff --git a/toontown/makeatoon/TrackShop.py b/toontown/makeatoon/TrackShop.py index 04d4ddd5..08ed6bac 100644 --- a/toontown/makeatoon/TrackShop.py +++ b/toontown/makeatoon/TrackShop.py @@ -1,38 +1,35 @@ from pandac.PandaModules import * +from panda3d.core import NodePath, ModelNode from direct.fsm import StateData from direct.gui.DirectGui import * from toontown.toonbase import TTLocalizer, ToontownGlobals from direct.directnotify import DirectNotifyGlobal -from toontown.toonbase.ToontownBattleGlobals import AvPropsNew +from toontown.toonbase import ToontownBattleGlobals class TrackShop(StateData.StateData): notify = DirectNotifyGlobal.directNotify.newCategory('TrackShop') def __init__(self, doneEvent): StateData.StateData.__init__(self, doneEvent) - self.quest = None - self.label = None - self.leftButton = None - self.rightButton = None - self.track = None - self.icon = None self.loaded = False self.index = 0 + self.buttonPath = None + self.curTrackLabel = None return + def showButtons(self): + self.buttonPath.show() + self.curTrackLabel.show() + + def hideButtons(self): + self.buttonPath.hide() + self.curTrackLabel.hide() + def enter(self): base.disableMouse() self.acceptOnce('last', self.__handleBackward) self.acceptOnce('next', self.__handleForward) - def showButtons(self): - for element in [self.quest, self.label, self.leftButton, self.rightButton, self.track, self.icon]: - element.show() - - def hideButtons(self): - for element in [self.quest, self.label, self.leftButton, self.rightButton, self.track, self.icon]: - element.hide() - def exit(self): self.ignore('last') self.ignore('next') @@ -41,60 +38,40 @@ class TrackShop(StateData.StateData): def load(self): if self.loaded: return - self.loaded = True - self.questGui = loader.loadModel('phase_3.5/models/gui/stickerbook_gui') - self.inventoryGui = loader.loadModel('phase_3.5/models/gui/inventory_icons') - self.buttonGui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui') - self.shuffleArrowUp = self.buttonGui.find('**/tt_t_gui_mat_shuffleArrowUp') - self.shuffleArrowDown = self.buttonGui.find('**/tt_t_gui_mat_shuffleArrowDown') - self.quest = DirectFrame(aspect2d, relief=None, image=self.questGui.find('**/questCard'), - pos=(-0.62, 0, 0), image_scale=1.5) + buttonModel = ModelNode('tracks') + self.buttonPath = NodePath(buttonModel) - self.label = DirectLabel(aspect2d, relief=None, text=TTLocalizer.PickTrackNotice, - text_fg=(0, 1, 0, 1), text_scale=0.12, text_font=ToontownGlobals.getToonFont(), - pos=(-0.62, 0, 0.45), text_shadow=(0, 0.392, 0, 1)) - - self.leftButton = DirectButton(aspect2d, relief=None, image=(self.shuffleArrowUp, self.shuffleArrowDown), - pos=(-1.2, 0, -0.05), command=self.handleSetIndex, extraArgs=[-1]) + self.curTrackLabel = DirectLabel(aspect2d, relief=None, + text='toon-up', text_scale=0.12, text_font=ToontownGlobals.getSignFont(), text_fg=(1, 0, 0, 1), + pos=(0, 0, -0.9)) - self.rightButton = DirectButton(aspect2d, relief=None, image=(self.shuffleArrowUp, self.shuffleArrowDown), - pos=(-0.05, 0, -0.05), scale=-1, command=self.handleSetIndex, extraArgs=[1]) - - self.track = DirectLabel(aspect2d, relief=None, text='', - text_scale=0.11, text_font=ToontownGlobals.getSignFont(), - pos=(-0.64, 0, -0.08), text_shadow=(1, 1, 1, 1)) - - self.icon = DirectFrame(aspect2d, relief=None, pos=(-0.65, 0, -0.3), image_scale=1.5) - - self.updateGuiByIndex() + buttonImage = loader.loadModel("phase_3/models/gui/quit_button.bam") + + availableTracks = [(0, 'toon-up'), (1, 'trap'), (2, 'lure'), (3, 'sound'), (4, 'drop')] + for i, track in reversed(availableTracks): + track = DirectButton(self.buttonPath, relief=None, + text=track, text_scale=0.08, text_font=ToontownGlobals.getSignFont(), text_pos=(0, -0.03), text_fg=(1, 0, 0, 1), + pos=(0, 0, (i * 0.15) - 0.5), + image=(buttonImage.find('**/QuitBtn_UP'), buttonImage.find('**/QuitBtn_DN'), buttonImage.find('**/QuitBtn_RLVR')), + command=self.handleSetIndex, extraArgs=[i, track]) + + self.buttonPath.reparentTo(aspect2d) def unload(self): - for element in [self.quest, self.label, self.leftButton, self.rightButton, self.track, self.icon]: - if element: - element.destroy() - del element - + if self.buttonPath: + self.buttonPath.removeNode() + del self.buttonPath + if self.curTrackLabel: + self.curTrackLabel.removeNode() + del self.curTrackLabel self.index = 0 self.loaded = False - def handleSetIndex(self, offset): - newIndex = self.index + offset - - if newIndex == 4: - self.index = 6 - elif newIndex == 5: - self.index = 3 - elif newIndex > -1 and newIndex < len(ToontownGlobals.PropIdToColor): - self.index = newIndex - - self.updateGuiByIndex() - - def updateGuiByIndex(self): - self.track['text'] = TTLocalizer.PropIdToName[self.index] - self.track['text_fg'] = ToontownGlobals.PropIdToColor[self.index] - self.icon['image'] = self.inventoryGui.find('**/' + AvPropsNew[self.index][0]) + def handleSetIndex(self, i, track): + self.index = i + self.curTrackLabel['text'] = track def __handleForward(self): self.doneStatus = 'next'