from direct.gui.DirectGui import * from panda3d.core import * from direct.directnotify import DirectNotifyGlobal from toontown.toonbase import ToontownGlobals from toontown.toonbase import TTLocalizer from direct.task import Task from . import FlowerBase from . import FlowerPicker class FlowerSellGUI(DirectFrame): notify = DirectNotifyGlobal.directNotify.newCategory('FlowerGui') def __init__(self, doneEvent): DirectFrame.__init__(self, relief=None, state='normal', geom=DGG.getDefaultDialogGeom(), geom_color=ToontownGlobals.GlobalDialogColor, geom_scale=(2.0, 1, 1.5), frameSize=(-1, 1, -1, 1), pos=(0, 0, 0), text='', text_wordwrap=26, text_scale=TTLocalizer.FSGUIdirectFrame, text_pos=(0, 0.65)) self.initialiseoptions(FlowerSellGUI) self.doneEvent = doneEvent self.picker = FlowerPicker.FlowerPicker(self) self.picker.load() self.picker.setPos(-0.59, 0, 0.03) self.picker.setScale(0.93) newBasketFlower = base.localAvatar.flowerBasket.getFlower() self.picker.update(newBasketFlower) self.picker.show() buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui') okImageList = (buttons.find('**/ChtBx_OKBtn_UP'), buttons.find('**/ChtBx_OKBtn_DN'), buttons.find('**/ChtBx_OKBtn_Rllvr')) cancelImageList = (buttons.find('**/CloseBtn_UP'), buttons.find('**/CloseBtn_DN'), buttons.find('**/CloseBtn_Rllvr')) self.cancelButton = DirectButton(parent=self, relief=None, image=cancelImageList, pos=(0.3, 0, -0.58), text=TTLocalizer.FlowerGuiCancel, text_scale=TTLocalizer.FSGUIcancelButton, text_pos=(0, -0.1), command=self.__cancel) self.okButton = DirectButton(parent=self, relief=None, image=okImageList, pos=(0.6, 0, -0.58), text=TTLocalizer.FlowerGuiOk, text_scale=TTLocalizer.FSGUIokButton, text_pos=(0, -0.1), command=self.__sellFlower) buttons.removeNode() self.__updateFlowerValue() base.cr.playGame.getPlace().detectedFlowerSellUse() return def destroy(self): DirectFrame.destroy(self) base.cr.playGame.getPlace().detectedFlowerSellDone() def __cancel(self): messenger.send(self.doneEvent, [0]) def __sellFlower(self): messenger.send(self.doneEvent, [1]) def __updateFlowerValue(self): flowerBasket = base.localAvatar.getFlowerBasket() num = len(flowerBasket) value = flowerBasket.getTotalValue() self['text'] = TTLocalizer.FlowerBasketValue % {'name': base.localAvatar.getName(), 'num': num, 'value': value} self.setText()