def createGui(self): self.title = DirectLabel(aspect2d, relief=None, text=TTLocalizer.GloveGuiTitle, text_fg=(0, 1, 0, 1), text_scale=0.15, text_font=ToontownGlobals.getSignFont(), pos=(0, 0, -0.30), text_shadow=(1, 1, 1, 1)) self.notice = DirectLabel(aspect2d, relief=None, text=TTLocalizer.GloveGuiNotice % ToontownGlobals.GloveCost, text_fg=(1, 0, 0, 1), text_scale=0.11, text_font=ToontownGlobals.getSignFont(), pos=(0, 0, -0.45), text_shadow=(1, 1, 1, 1)) self.color = DirectLabel(aspect2d, relief=None, text='', text_scale=0.11, text_font=ToontownGlobals.getSignFont(), pos=(0, 0, -0.70), text_shadow=(1, 1, 1, 1)) self.buyButton = DirectButton(aspect2d, relief=None, image=(self.shuffleUp, self.shuffleDown), text=TTLocalizer.GloveGuiBuy, text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.11, text_pos=(0, -0.02), pos=(-0.60, 0, -0.90), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.handleBuy) self.cancelButton = DirectButton(aspect2d, relief=None, image=(self.shuffleUp, self.shuffleDown), text=TTLocalizer.GloveGuiCancel, text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.11, text_pos=(0, -0.02), pos=(0.60, 0, -0.90), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.leave) self.leftButton = DirectButton(aspect2d, relief=None, image=(self.shuffleArrowUp, self.shuffleArrowDown), pos=(-0.60, 0, -0.66), command=self.handleSetIndex, extraArgs=[-1]) self.rightButton = DirectButton(aspect2d, relief=None, image=(self.shuffleArrowUp, self.shuffleArrowDown), pos=(0.60, 0, -0.66), scale=-1, command=self.handleSetIndex, extraArgs=[1]) self.updateGuiByIndex()
def displayAchievement(self): currentAchievement = AchievementsGlobals.AchievementImages[ self.currentShowingAward] self.frame = DirectFrame(relief=None, geom='phase_3/models/gui/dialog_box_gui', geom_scale=(1.5, 0.5, 0.5), scale=(1, 1, 1), parent=self, pos=(0, 0, 0.7)) self.image = DirectFrame(relief=None, image=currentAchievement, scale=0.2, parent=self.frame) self.image.setTransparency(TransparencyAttrib.MAlpha) self.title = DirectLabel(parent=self.frame, relief=None, pos=(0, 0, 0.2), text=TTLocalizer.EarnedAchievement, text_scale=0.08, text_font=ToontownGlobals.getInterfaceFont()) self.achievementName = DirectLabel( parent=self.frame, relief=None, pos=(0, 0, 0.1), text=TTLocalizer.Achievements[self.currentShowingAward], text_scale=0.07, text_font=ToontownGlobals.getMinnieFont()) self.details = DirectLabel( parent=self.frame, relief=None, pos=(0, 0, -0.2), text=TTLocalizer.AchievementsDesc[self.currentShowingAward], text_scale=0.05, text_font=ToontownGlobals.getInterfaceFont())
def setupButtons(self): gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui') arrowImage = (gui.find('**/tt_t_gui_mat_shuffleArrowUp'), gui.find('**/tt_t_gui_mat_shuffleArrowDown')) buttonImage = (gui.find('**/tt_t_gui_mat_shuffleUp'), gui.find('**/tt_t_gui_mat_shuffleDown')) self.title = DirectLabel(aspect2d, relief=None, text=TTLocalizer.GloveGuiTitle, text_fg=(0, 1, 0, 1), text_scale=0.15, text_font=ToontownGlobals.getSignFont(), pos=(0, 0, -0.30), text_shadow=(1, 1, 1, 1)) self.notice = DirectLabel(aspect2d, relief=None, text='', text_fg=(1, 0, 0, 1), text_scale=0.11, text_font=ToontownGlobals.getSignFont(), pos=(0, 0, -0.45), text_shadow=(1, 1, 1, 1)) self.color = DirectLabel(aspect2d, relief=None, text='', text_scale=0.11, text_font=ToontownGlobals.getSignFont(), pos=(0, 0, -0.70), text_shadow=(1, 1, 1, 1)) self.buyButton = DirectButton(aspect2d, relief=None, image=buttonImage, text=TTLocalizer.GloveGuiBuy, text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.11, text_pos=(0, -0.02), pos=(-0.60, 0, -0.90), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.__exit, extraArgs=[GloveNPCGlobals.CHANGE]) self.cancelButton = DirectButton(aspect2d, relief=None, image=buttonImage, text=TTLocalizer.lCancel, text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.11, text_pos=(0, -0.02), pos=(0.60, 0, -0.90), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.__exit, extraArgs=[GloveNPCGlobals.USER_CANCEL]) self.downArrow = DirectButton(aspect2d, relief=None, image=arrowImage, pos=(-0.60, 0, -0.66)) self.upArrow = DirectButton(aspect2d, relief=None, image=arrowImage, pos=(0.60, 0, -0.66), scale=-1) gui.removeNode()
def load(self): gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui') guiBoyUp = gui.find('**/tt_t_gui_mat_boyUp') guiBoyDown = gui.find('**/tt_t_gui_mat_boyDown') guiGirlUp = gui.find('**/tt_t_gui_mat_girlUp') guiGirlDown = gui.find('**/tt_t_gui_mat_girlDown') self.boyButton = DirectButton(relief=None, image=(guiBoyUp, guiBoyDown, guiBoyUp, guiBoyDown), image_scale=halfButtonScale, image1_scale=halfButtonHoverScale, image2_scale=halfButtonHoverScale, pos=(-0.4, 0, -0.8), command=self.createRandomBoy, text=('', TTLocalizer.GenderShopBoyButtonText, TTLocalizer.GenderShopBoyButtonText, ''), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08, text_pos=(0, 0.19), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1)) self.boyButton.hide() self.girlButton = DirectButton(relief=None, image=(guiGirlUp, guiGirlDown, guiGirlUp, guiGirlDown), image_scale=halfButtonScale, image1_scale=halfButtonHoverScale, image2_scale=halfButtonHoverScale, pos=(0.4, 0, -0.8), command=self.createRandomGirl, text=('', TTLocalizer.GenderShopGirlButtonText, TTLocalizer.GenderShopGirlButtonText, ''), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08, text_pos=(0, 0.19), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1)) self.girlButton.hide() gui.removeNode() del gui self.toon = None return
def __init__(self, player): self.player = player self.root = NodePath("CogdoFlyingGui") self.root.reparentTo(aspect2d) self.fuelMeter = NodePath("scrubMeter") self.fuelMeter.reparentTo(self.root) self.fuelMeter.setPos(1.1, 0.0, -0.7) self.fuelMeter.setSz(2.0) cm = CardMaker('card') cm.setFrame(-0.07, 0.07, 0.0, 0.75) self.fuelMeterBar = self.fuelMeter.attachNewNode(cm.generate()) self.fuelMeterBar.setColor(0.95, 0.95, 0.0, 1.0) self.fuelLabel = DirectLabel( parent=self.root, relief=None, pos=(1.1, 0, -0.8), scale=0.075, text="Fuel", text_fg=(0.95, 0.95, 0, 1), text_shadow=(0, 0, 0, 1), text_font=ToontownGlobals.getInterfaceFont(), ) self.messageLabel = DirectLabel( parent=self.root, relief=None, pos=(0.0, 0.0, -0.9), scale=0.1, text=" ", text_align=TextNode.ACenter, text_fg=(0.95, 0.95, 0, 1), text_shadow=(0, 0, 0, 1), text_font=ToontownGlobals.getInterfaceFont(), textMayChange=1, ) self.messageLabel.stash() self.winLabel = DirectLabel( parent=self.root, relief=None, pos=(0.0, 0.0, 0.0), scale=0.25, text="You win!", text_align=TextNode.ACenter, text_fg=(0.95, 0.95, 0, 1), text_shadow=(0, 0, 0, 1), text_font=ToontownGlobals.getInterfaceFont(), ) self.winLabel.stash() self.refuelLerp = LerpFunctionInterval(self.fuelMeterBar.setSz, fromData=0.0, toData=1.0, duration=2.0)
def load(self): self.weight = DirectLabel(parent=self, pos=(0, 0, -0.28000000000000003), relief=None, state=DGG.NORMAL, text='', text_scale=0.050000000000000003, text_fg=(0, 0, 0, 1), text_pos=(0, 0.0, 0), text_font=ToontownGlobals.getInterfaceFont(), text_wordwrap=10.5) self.value = DirectLabel(parent=self, pos=(0, 0, -0.34999999999999998), relief=None, state=DGG.NORMAL, text='', text_scale=0.050000000000000003, text_fg=(0, 0, 0, 1), text_pos=(0, 0, 0), text_font=ToontownGlobals.getInterfaceFont(), text_wordwrap=10.5) self.mystery = DirectLabel( parent=self, pos=(-0.025000000000000001, 0, -0.055), relief=None, state=DGG.NORMAL, text='?', text_scale=0.25, text_fg=(0, 0, 0, 1), text_pos=(0, 0, 0), text_font=ToontownGlobals.getInterfaceFont(), text_wordwrap=10.5) self.extraLabel = DirectLabel(parent=self, relief=None, state=DGG.NORMAL, text='', text_fg=(0.20000000000000001, 0.80000000000000004, 0.40000000000000002, 1), text_font=ToontownGlobals.getSignFont(), text_scale=0.080000000000000002, pos=(0, 0, 0.26000000000000001)) buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui') self.cancel = DirectButton(parent=self, pos=(0.27500000000000002, 0, -0.375), relief=None, state=DGG.NORMAL, image=(buttons.find('**/CloseBtn_UP'), buttons.find('**/CloseBtn_DN'), buttons.find('**/CloseBtn_Rllvr')), image_scale=(0.59999999999999998, 1, 0.59999999999999998), command=self.handleCancel) buttons.removeNode() self.photo = FishPhoto.FishPhoto(parent=self) self.update(self.fish)
def load(self): self.weight = DirectLabel(parent=self, pos=(0, 0, -0.28), relief=None, state=DGG.NORMAL, text='', text_scale=0.05, text_fg=(0, 0, 0, 1), text_pos=(0, 0.0, 0), text_font=ToontownGlobals.getInterfaceFont(), text_wordwrap=10.5) self.value = DirectLabel(parent=self, pos=TTLocalizer.FPvaluePos, relief=None, state=DGG.NORMAL, text='', text_scale=TTLocalizer.FPvalue, text_fg=(0, 0, 0, 1), text_pos=(0, 0, 0), text_font=ToontownGlobals.getInterfaceFont(), text_wordwrap=10.5) self.mystery = DirectLabel( parent=self, pos=(-0.025, 0, -0.055), relief=None, state=DGG.NORMAL, text='?', text_scale=0.25, text_fg=(0, 0, 0, 1), text_pos=(0, 0, 0), text_font=ToontownGlobals.getInterfaceFont(), text_wordwrap=10.5) self.extraLabel = DirectLabel(parent=self, relief=None, state=DGG.NORMAL, text='', text_fg=(0.2, 0.8, 0.4, 1), text_font=ToontownGlobals.getSignFont(), text_scale=0.08, pos=(0, 0, 0.26)) buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui') self.cancel = DirectButton(parent=self, pos=(0.275, 0, -0.375), relief=None, state=DGG.NORMAL, image=(buttons.find('**/CloseBtn_UP'), buttons.find('**/CloseBtn_DN'), buttons.find('**/CloseBtn_Rllvr')), image_scale=(0.6, 1, 0.6), command=self.handleCancel) buttons.removeNode() self.photo = FlowerPhoto.FlowerPhoto(parent=self) self.update(self.flower) return
def load(self): """ Load all the assets pertaining to the gender selection. """ gui = loader.loadModel("phase_3/models/gui/tt_m_gui_mat_mainGui") guiBoyUp = gui.find("**/tt_t_gui_mat_boyUp") guiBoyDown = gui.find("**/tt_t_gui_mat_boyDown") guiGirlUp = gui.find("**/tt_t_gui_mat_girlUp") guiGirlDown = gui.find("**/tt_t_gui_mat_girlDown") # Create Random Boy Button self.boyButton = DirectButton( relief=None, image=(guiBoyUp, guiBoyDown, guiBoyUp, guiBoyDown), # buttonScale is defined in MakeAToonGlobals image_scale=halfButtonScale, image1_scale=halfButtonHoverScale, image2_scale=halfButtonHoverScale, pos=(-0.4, 0, -0.8), command=self.createRandomBoy, text=("", TTLocalizer.GenderShopBoyButtonText, TTLocalizer.GenderShopBoyButtonText, ""), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08, text_pos=(0, 0.19), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), ) self.boyButton.hide() # Create Random Girl Button self.girlButton = DirectButton( relief=None, image=(guiGirlUp, guiGirlDown, guiGirlUp, guiGirlDown), image_scale=halfButtonScale, image1_scale=halfButtonHoverScale, image2_scale=halfButtonHoverScale, pos=(0.4, 0, -0.8), command=self.createRandomGirl, text=("", TTLocalizer.GenderShopGirlButtonText, TTLocalizer.GenderShopGirlButtonText, ""), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08, text_pos=(0, 0.19), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), ) self.girlButton.hide() gui.removeNode() del gui self.toon = None
def __init__(self): DirectObject.__init__(self) FSM.__init__(self, self.__class__.__name__) self.label = OnscreenText( '', parent=hidden, font=ToontownGlobals.getMinnieFont(), fg=Vec4(1, 1, 1, 1), scale=0.06, align=TextNode.ACenter, wordwrap=35) self.label.setColorScale(Vec4(0, 0, 0, 0)) gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui.bam') shuffleUp = gui.find('**/tt_t_gui_mat_shuffleUp') shuffleDown = gui.find('**/tt_t_gui_mat_shuffleDown') okUp = gui.find('**/tt_t_gui_mat_okUp') okDown = gui.find('**/tt_t_gui_mat_okDown') closeUp = gui.find('**/tt_t_gui_mat_closeUp') closeDown = gui.find('**/tt_t_gui_mat_closeDown') gui.removeNode() del gui self.exitButton = DirectButton( parent=hidden, relief=None, image=(shuffleUp, shuffleDown, shuffleUp), image_scale=(0.6, 0.6, 0.6), image1_scale=(0.63, 0.6, 0.6), image2_scale=(0.63, 0.6, 0.6), text=(TTLocalizer.IntroExitButton, TTLocalizer.IntroExitButton, TTLocalizer.IntroExitButton, ''), text_font=ToontownGlobals.getInterfaceFont(), text_scale=TTLocalizer.SBshuffleBtn, text_pos=(0, -0.02), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1)) self.yesButton = DirectButton( parent=hidden, relief=None, image=(okUp, okDown, okUp, okDown), image_scale=(0.6, 0.6, 0.6), image1_scale=(0.7, 0.7, 0.7), image2_scale=(0.7, 0.7, 0.7), text=('', TTLocalizer.IntroYesButton, TTLocalizer.IntroYesButton), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08, text_align=TextNode.ACenter, text_pos=(0, -0.175), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1)) self.noButton = DirectButton( parent=hidden, relief=None, image=(closeUp, closeDown, closeUp, closeDown), image_scale=(0.6, 0.6, 0.6), image1_scale=(0.7, 0.7, 0.7), image2_scale=(0.7, 0.7, 0.7), text=('', TTLocalizer.IntroNoButton, TTLocalizer.IntroNoButton), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08, text_align=TextNode.ACenter, text_pos=(0, -0.175), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1)) self.disclaimerTrack = None self.presentsTrack = None
def __init__(self): self.__expectedCount = 0 self.__count = 0 self.textures = [ (loader.loadTexture('phase_3.5/maps/loading/toon.jpg'), ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1)), (loader.loadTexture('phase_3.5/maps/loading/cog.jpg'), ToontownGlobals.getSuitFont(), (1.0, 1.0, 1.0, 1)), (loader.loadTexture('phase_3.5/maps/loading/default.jpg'), ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1)) ] self.gui = loader.loadModel( 'phase_3/models/gui/progress-background.bam') self.title = DirectLabel(guiId='ToontownLoadingScreenTitle', parent=self.gui, relief=None, pos=(base.a2dRight / 5, 0, 0.235), text='', textMayChange=1, text_scale=0.08, text_fg=(0, 0, 0.5, 1), text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont()) self.tip = DirectLabel(guiId='ToontownLoadingScreenTip', parent=self.gui, relief=None, pos=(0, 0, 0.045), text='', textMayChange=1, text_scale=0.05, text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_align=TextNode.ACenter) self.waitBar = DirectWaitBar( guiId='ToontownLoadingScreenWaitBar', parent=self.gui, frameSize=(base.a2dLeft + (base.a2dRight / 4.95), base.a2dRight - (base.a2dRight / 4.95), -0.03, 0.03), pos=(0, 0, 0.15), text='') logoScale = 0.5625 # Scale for our locked aspect ratio (2:1). self.logo = OnscreenImage(image='phase_3/maps/toontown-logo.jpg', scale=(logoScale * 2.0, 1, logoScale)) self.logo.reparentTo(hidden) self.logo.setTransparency(TransparencyAttrib.MAlpha) scale = self.logo.getScale() self.logo.setPos(0, 0, -scale[2]) self.toon = None
def load(self): gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui') shuffleFrame = gui.find('**/tt_t_gui_mat_shuffleFrame') shuffleUp = gui.find('**/tt_t_gui_mat_shuffleUp') shuffleDown = gui.find('**/tt_t_gui_mat_shuffleDown') shuffleArrowUp = gui.find('**/tt_t_gui_mat_shuffleArrowUp') shuffleArrowDown = gui.find('**/tt_t_gui_mat_shuffleArrowDown') shuffleArrowDisabled = gui.find('**/tt_t_gui_mat_shuffleArrowDisabled') gui.removeNode() del gui self.parentFrame = DirectFrame(parent=self.parent.parentFrame, relief=DGG.RAISED, pos=(0, 0, -1), frameColor=(1, 0, 0, 0)) self.shuffleFrame = DirectFrame(parent=self.parentFrame, image=shuffleFrame, image_scale=halfButtonInvertScale, relief=None, frameColor=(1, 1, 1, 1)) self.shuffleFrame.hide() self.shuffleBtn = DirectButton(parent=self.parentFrame, relief=None, image=(shuffleUp, shuffleDown, shuffleUp), image_scale=halfButtonInvertScale, image1_scale=(-0.63, 0.6, 0.6), image2_scale=(-0.63, 0.6, 0.6), text=(TTLocalizer.ShuffleButton, TTLocalizer.ShuffleButton, TTLocalizer.ShuffleButton, ''), text_font=ToontownGlobals.getInterfaceFont(), text_scale=TTLocalizer.SBshuffleBtn, text_pos=(0, -0.02), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.chooseRandom) self.incBtn = DirectButton(parent=self.parentFrame, relief=None, image=(shuffleArrowUp, shuffleArrowDown, shuffleArrowUp, shuffleArrowDisabled), image_scale=halfButtonInvertScale, image1_scale=halfButtonInvertHoverScale, image2_scale=halfButtonInvertHoverScale, pos=(0.202, 0, 0), command=self.__goFrontHistory) self.incBtn.hide() self.decBtn = DirectButton(parent=self.parentFrame, relief=None, image=(shuffleArrowUp, shuffleArrowDown, shuffleArrowUp, shuffleArrowDisabled), image_scale=halfButtonScale, image1_scale=halfButtonHoverScale, image2_scale=halfButtonHoverScale, pos=(-0.202, 0, 0), command=self.__goBackHistory) self.decBtn.hide() self.lerpDuration = 0.5 self.showLerp = None self.frameShowLerp = LerpColorInterval(self.shuffleFrame, self.lerpDuration, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0)) self.incBtnShowLerp = LerpColorInterval(self.incBtn, self.lerpDuration, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0)) self.decBtnShowLerp = LerpColorInterval(self.decBtn, self.lerpDuration, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0)) self.__updateArrows()
def __init__(self, genus=None, itemIndex=0, *extraArgs): fishingGui = loader.loadModel('phase_3.5/models/gui/fishingBook') albumGui = fishingGui.find('**/photo_frame1').copyTo(hidden) albumGui.find('**/picture_frame').reparentTo(albumGui, -1) albumGui.find('**/arrows').removeNode() optiondefs = (('relief', None, None), ('state', DGG.NORMAL, None), ('image', albumGui, None), ('image_scale', (0.025000000000000001, 0.025000000000000001, 0.025000000000000001), None), ('image_pos', (0, 1, 0), None), ('text', TTLocalizer.UnknownFish, None), ('text_scale', 0.065000000000000002, None), ('text_fg', (0.20000000000000001, 0.10000000000000001, 0.0, 1), None), ('text_pos', (-0.5, -0.34000000000000002), None), ('text_font', ToontownGlobals.getInterfaceFont(), None), ('text_wordwrap', 13.5, None), ('text_align', TextNode.ALeft, None)) self.defineoptions({}, optiondefs) DirectFrame.__init__(self) self.initialiseoptions(GenusPanel) self.fishPanel = None self.genus = None self.setGenus(int(genus)) self.setScale(1.2) albumGui.removeNode()
def setGenus(self, genus): if self.genus == genus: return self.genus = genus if self.genus != None: if self.fishPanel: self.fishPanel.destroy() f = FishBase.FishBase(self.genus, 0, 0) self.fishPanel = FishPhoto.FishPhoto(fish=f, parent=self) self.fishPanel.setPos(-0.23, 1, -0.01) self.fishPanel.setSwimBounds(-0.2461, 0.2367, -0.207, 0.2664) self.fishPanel.setSwimColor(0.47, 1.0, 0.99, 1.0) speciesList = FishGlobals.getSpecies(self.genus) self.speciesLabels = [] offset = 0.075 startPos = len(speciesList) / 2 * offset if not len(speciesList) % 2: startPos -= offset / 2 for species in xrange(len(speciesList)): label = DirectLabel( parent=self, relief=None, state=DGG.NORMAL, pos=(0.06, 0, startPos - species * offset), text=TTLocalizer.UnknownFish, text_fg=(0.2, 0.1, 0.0, 1), text_scale=TTLocalizer.GPgenus, text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont()) self.speciesLabels.append(label)
def __init__(self, fish=None, parent=aspect2d, doneEvent=None, **kw): """ Create a DirectFrame for displaying the fish and it's info. """ assert self.notify.debugStateCall(self) optiondefs = ( ('relief', None, None), ('state', DGG.DISABLED, None), ('image', DGG.getDefaultDialogGeom(), None), ('image_color', ToontownGlobals.GlobalDialogColor, None), ('image_scale', (0.65, 1, 0.85), None), ('text', "", None), ('text_scale', 0.06, None), ('text_fg', (0, 0, 0, 1), None), ('text_pos', (0, 0.35, 0), None), ('text_font', ToontownGlobals.getInterfaceFont(), None), ('text_wordwrap', 13.5, None), ) # Merge keyword options with default options self.defineoptions(kw, optiondefs) # Initialize superclasses DirectFrame.__init__(self, parent) self.initialiseoptions(FishPanel) self.doneEvent = doneEvent self.fish = fish self.parent = parent self.photo = None
def load(self): # add a picture of the firework. draw it first so we can # draw the quantity on top of it. self.picture = DirectButton( parent=self, image=(DGG.getDefaultDialogGeom(), DGG.getDefaultDialogGeom(), DGG.getDefaultDialogGeom()), relief=None, command=self.__launchFirework, extraArgs=[self.type], image_color=(.8, .9, 1, 1), ) self.picture.setScale(0.2) self.picture.setPos(0, 0, 0) self.picture.initialiseoptions(self.picture) panelWidth = 7 nameFont = ToontownGlobals.getInterfaceFont() # draw the quantity on top self.quantityLabel = DirectLabel( parent=self.picture, relief=None, pos=(0, 0, 0.0), scale=0.45, text=self.name, text_scale=0.6, text_fg=(0, 0, 0, 1), #text_shadow = (0, 0, 0, 1), text_pos=(0, -.14, 0), text_font=nameFont, text_wordwrap=panelWidth, )
def load(self): self.picture = DirectButton(parent=self, image=(DGG.getDefaultDialogGeom(), DGG.getDefaultDialogGeom(), DGG.getDefaultDialogGeom()), relief=None, command=self.__launchFirework, extraArgs=[self.type], image_color=(0.8, 0.9, 1, 1)) self.picture.setScale(0.2) self.picture.setPos(0, 0, 0) self.picture.initialiseoptions(self.picture) panelWidth = 7 nameFont = ToontownGlobals.getInterfaceFont() self.quantityLabel = DirectLabel(parent=self.picture, relief=None, pos=(0, 0, 0.0), scale=0.45, text=self.name, text_scale=0.6, text_fg=(0, 0, 0, 1), text_pos=(0, -0.14, 0), text_font=nameFont, text_wordwrap=panelWidth) return
def __init__(self, fish=None, parent=aspect2d, doneEvent=None, **kw): optiondefs = (('relief', None, None), ( 'state', DGG.DISABLED, None), ( 'image', DGG.getDefaultDialogGeom(), None), ( 'image_color', ToontownGlobals.GlobalDialogColor, None), ( 'image_scale', (0.65, 1, 0.85), None), ('text', '', None), ('text_scale', 0.06, None), ( 'text_fg', (0, 0, 0, 1), None), ( 'text_pos', (0, 0.35, 0), None), ( 'text_font', ToontownGlobals.getInterfaceFont(), None), ('text_wordwrap', 13.5, None)) self.defineoptions(kw, optiondefs) DirectFrame.__init__(self, parent) self.initialiseoptions(FishPanel) self.doneEvent = doneEvent self.fish = fish self._parent = parent self.photo = None return
def __makeGallery(self): self.gallery = hidden.attachNewNode('gallery') self.gallery.setDepthWrite(1) self.gallery.setDepthTest(1) self.suits = [] self.actors = [] self.text = TextNode('rogues') self.text.setFont(ToontownGlobals.getInterfaceFont()) self.text.setAlign(TextNode.ACenter) self.text.setTextColor(0.0, 0.0, 0.0, 1.0) self.rowHeight = 0.0 self.minXScale = None print "rognamestr='", self.rognamestr, "'\n" if self.rognamestr == None or len(self.rognamestr) == 0: for dept in SuitDNA.suitDepts: self.__makeDept(dept) else: self.suitRow = [] self.rowWidth = 0.0 self.__makeSuit(None, None, self.rognamestr) self.minXScale = self.xRowSpace / self.rowWidth self.suits.append((self.rowWidth, self.suitRow)) del self.suitRow self.__rescaleSuits() return
def __init__(self, species=None, itemIndex=0, *extraArgs): flowerGui = loader.loadModel('phase_3.5/models/gui/fishingBook') albumGui = flowerGui.find('**/photo_frame1') pictureGroup = albumGui.attachNewNode('PictureGroup') hideList = ['corner_backs', 'shadow', 'bg', 'corners', 'picture'] for name in hideList: temp = flowerGui.find('**/%s' % name) if not temp.isEmpty(): temp.wrtReparentTo(pictureGroup) pictureGroup.setPos(0, 0, 1.0) albumGui.find('**/arrows').removeNode() optiondefs = (('relief', None, None), ('state', DGG.NORMAL, None), ('image', albumGui, None), ('image_scale', (0.025, 0.025, 0.025), None), ('image_pos', (0, 1, 0), None), ('text', TTLocalizer.FlowerUnknown, None), ('text_scale', 0.065, None), ('text_fg', (0.2, 0.1, 0.0, 1), None), ('text_pos', (-0.5, -0.34), None), ('text_font', ToontownGlobals.getInterfaceFont(), None), ('text_wordwrap', 13.5, None), ('text_align', TextNode.ALeft, None)) self.defineoptions({}, optiondefs) DirectFrame.__init__(self) self.initialiseoptions(FlowerSpeciesPanel) self.flowerPanel = None self.species = None self.variety = 0 self.flowerCollection = extraArgs[0] self.setSpecies(int(species)) self.setScale(1.2) albumGui.removeNode() self.beanRecipeGui = None return
def makeGui(self): self.notify.debugStateCall(self) if hasattr(self, 'cancelButton'): return else: fishGui = loader.loadModel('phase_4/models/gui/fishingGui') self.cancelButton = DirectGui.DirectButton( relief=None, scale=0.67, parent=base.a2dBottomRight, pos=(-0.173333, 0, 0.1), text=('', TTLocalizer.FishingExit, TTLocalizer.FishingExit), text_align=TextNode.ACenter, text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1), text_pos=(0.0, -0.12), textMayChange=0, text_scale=0.1, image=(fishGui.find('**/exit_buttonUp'), fishGui.find('**/exit_buttonDown'), fishGui.find('**/exit_buttonRollover')), text_font=ToontownGlobals.getInterfaceFont(), command=self.d_requestExit) self.cancelButton.hide() return
def makeGui(self): self.notify.debugStateCall(self) # Check if the timer exists, if so then the gui has been # made. if (hasattr(self, 'cancelButton')): return fishGui = loader.loadModel("phase_4/models/gui/fishingGui") self.cancelButton = DirectGui.DirectButton( relief=None, scale=(0.67), pos=(-0.133, 0.0, 0.13), #pos = (0,0,0), text=("", TTLocalizer.FishingExit, TTLocalizer.FishingExit), text_align=TextNode.ACenter, text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1), text_pos=(0.0, -0.12), textMayChange=0, text_scale=0.1, image=(fishGui.find("**/exit_buttonUp"), fishGui.find("**/exit_buttonDown"), fishGui.find("**/exit_buttonRollover")), text_font=ToontownGlobals.getInterfaceFont(), command=self.d_requestExit, parent=base.a2dBottomRight #pressEffect = False, ) self.cancelButton.hide()
def load(self): gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui') shuffleFrame = gui.find('**/tt_t_gui_mat_shuffleFrame') shuffleUp = gui.find('**/tt_t_gui_mat_shuffleUp') shuffleDown = gui.find('**/tt_t_gui_mat_shuffleDown') shuffleArrowUp = gui.find('**/tt_t_gui_mat_shuffleArrowUp') shuffleArrowDown = gui.find('**/tt_t_gui_mat_shuffleArrowDown') shuffleArrowDisabled = gui.find('**/tt_t_gui_mat_shuffleArrowDisabled') gui.removeNode() del gui self.parentFrame = DirectFrame(parent=self.parent.parentFrame, relief=DGG.RAISED, pos=(0, 0, -1), frameColor=(1, 0, 0, 0)) self.shuffleFrame = DirectFrame(parent=self.parentFrame, image=shuffleFrame, image_scale=halfButtonInvertScale, relief=None, frameColor=(1, 1, 1, 1)) self.shuffleFrame.hide() self.shuffleBtn = DirectButton(parent=self.parentFrame, relief=None, image=(shuffleUp, shuffleDown, shuffleUp), image_scale=halfButtonInvertScale, image1_scale=(-0.63, 0.6, 0.6), image2_scale=(-0.63, 0.6, 0.6), text=(TTLocalizer.ShuffleButton, TTLocalizer.ShuffleButton, TTLocalizer.ShuffleButton, ''), text_font=ToontownGlobals.getInterfaceFont(), text_scale=TTLocalizer.SBshuffleBtn, text_pos=(0, -0.02), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.chooseRandom) self.incBtn = DirectButton(parent=self.parentFrame, relief=None, image=(shuffleArrowUp, shuffleArrowDown, shuffleArrowUp, shuffleArrowDisabled), image_scale=halfButtonInvertScale, image1_scale=halfButtonInvertHoverScale, image2_scale=halfButtonInvertHoverScale, pos=(0.202, 0, 0), command=self.__goFrontHistory) self.incBtn.hide() self.decBtn = DirectButton(parent=self.parentFrame, relief=None, image=(shuffleArrowUp, shuffleArrowDown, shuffleArrowUp, shuffleArrowDisabled), image_scale=halfButtonScale, image1_scale=halfButtonHoverScale, image2_scale=halfButtonHoverScale, pos=(-0.202, 0, 0), command=self.__goBackHistory) self.decBtn.hide() self.lerpDuration = 0.5 self.showLerp = None self.frameShowLerp = LerpColorInterval(self.shuffleFrame, self.lerpDuration, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0)) self.incBtnShowLerp = LerpColorInterval(self.incBtn, self.lerpDuration, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0)) self.decBtnShowLerp = LerpColorInterval(self.decBtn, self.lerpDuration, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0)) self.__updateArrows() return
def __init__(self, genus = None, itemIndex = 0, *extraArgs): fishingGui = loader.loadModel('phase_3.5/models/gui/fishingBook') albumGui = fishingGui.find('**/photo_frame1').copyTo(hidden) albumGui.find('**/picture_frame').reparentTo(albumGui, -1) albumGui.find('**/arrows').removeNode() optiondefs = (('relief', None, None), ('state', DGG.NORMAL, None), ('image', albumGui, None), ('image_scale', (0.025, 0.025, 0.025), None), ('image_pos', (0, 1, 0), None), ('text', TTLocalizer.UnknownFish, None), ('text_scale', 0.065, None), ('text_fg', (0.2, 0.1, 0.0, 1), None), ('text_pos', (-0.5, -0.34), None), ('text_font', ToontownGlobals.getInterfaceFont(), None), ('text_wordwrap', 13.5, None), ('text_align', TextNode.ALeft, None)) self.defineoptions({}, optiondefs) DirectFrame.__init__(self) self.initialiseoptions(GenusPanel) self.fishPanel = None self.genus = None self.setGenus(int(genus)) self.setScale(1.2) albumGui.removeNode() return
def _RoguesGallery__makeGallery(self): self.gallery = hidden.attachNewNode('gallery') self.gallery.setDepthWrite(1) self.gallery.setDepthTest(1) self.suits = [] self.actors = [] self.text = TextNode('rogues') self.text.setFont(ToontownGlobals.getInterfaceFont()) self.text.setAlign(TextNode.ACenter) self.text.setTextColor(0.0, 0.0, 0.0, 1.0) self.rowHeight = 0.0 self.minXScale = None print "rognamestr='", self.rognamestr, "'\n" if self.rognamestr == None or len(self.rognamestr) == 0: for dept in SuitDNA.suitDepts: self._RoguesGallery__makeDept(dept) else: self.suitRow = [] self.rowWidth = 0.0 self._RoguesGallery__makeSuit(None, None, self.rognamestr) self.minXScale = self.xRowSpace / self.rowWidth self.suits.append((self.rowWidth, self.suitRow)) del self.suitRow self._RoguesGallery__rescaleSuits()
def setSpecies(self, species): assert self.notify.debugStateCall(self) if self.species == species: return self.species = species if self.species != None: # load the species image if self.flowerPanel: self.flowerPanel.destroy() #f = FishBase.FishBase(self.species, 0, 0) varietyToUse = self.flowerCollection.getInitialVariety( self.species) self.variety = varietyToUse self.flowerPanel = FlowerPhoto.FlowerPhoto(species=self.species, variety=varietyToUse, parent=self) #self.flowerPanel.setPos(-0.23, 1, -0.01) zAdj = 0.0131 xAdj = -0.002 self.flowerPanel.setPos(-0.229 + xAdj, 1, -0.01 + zAdj) # This is carefully placed over the book image. Please try to keep # this in sync with the book position: self.flowerPanel.setSwimBounds(-0.2461, 0.2367, -0.207 + zAdj, 0.2664 + zAdj) # Light blue-green water background: #self.flowerPanel.setSwimColor(0.47, 1.0, 0.99, 1.0) # dark green lawn background #self.flowerPanel.setSwimColor(0.25, 0.5, 0.25, 1.0) # light gray neutral background self.flowerPanel.setSwimColor(0.75, 0.75, 0.75, 1.0) varietyList = GardenGlobals.getFlowerVarieties(self.species) self.speciesLabels = [] offset = 0.075 startPos = ((len(varietyList) / 2) * offset) if not len(varietyList) % 2: # even len's need a little shift down startPos -= offset / 2 for variety in range(len(varietyList)): label = DirectButton( parent=self, frameSize=(0, 0.445, -0.02, 0.04), relief=None, #DGG.RIDGE, #borderWidth = (0.01,0.01), state=DGG.DISABLED, pos=(0.06, 0, startPos - (variety * offset)), text=TTLocalizer.FlowerUnknown, text_fg=(0.2, 0.1, 0.0, 1), text_scale=(0.045, 0.045, 0.45), text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont(), command=self.changeVariety, extraArgs=[variety], text1_bg=Vec4(1, 1, 0, 1), text2_bg=Vec4(0.5, 0.9, 1, 1), text3_fg=Vec4(0.4, 0.8, 0.4, 1), ) self.speciesLabels.append(label)
def loadDnaStore(self): if not hasattr(self, "dnaStore"): self.dnaStore = DNAStorage() loader.loadDNAFile(self.dnaStore, "phase_4/dna/storage.dna") self.dnaStore.storeFont("humanist", ToontownGlobals.getInterfaceFont()) self.dnaStore.storeFont("mickey", ToontownGlobals.getSignFont()) self.dnaStore.storeFont("suit", ToontownGlobals.getSuitFont()) loader.loadDNAFile(self.dnaStore, "phase_3.5/dna/storage_interior.dna")
def load(self): self.picture = DirectButton(parent=self, image=(DGG.getDefaultDialogGeom(), DGG.getDefaultDialogGeom(), DGG.getDefaultDialogGeom()), relief=None, command=self.__launchFirework, extraArgs=[self.type], image_color=(0.8, 0.9, 1, 1)) self.picture.setScale(0.2) self.picture.setPos(0, 0, 0) self.picture.initialiseoptions(self.picture) panelWidth = 7 nameFont = ToontownGlobals.getInterfaceFont() self.quantityLabel = DirectLabel(parent=self.picture, relief=None, pos=(0, 0, 0.0), scale=0.45, text=self.name, text_scale=0.6, text_fg=(0, 0, 0, 1), text_pos=(0, -0.14, 0), text_font=nameFont, text_wordwrap=panelWidth)
def loadDnaStore(self): if not hasattr(self, 'dnaStore'): self.dnaStore = DNAStorage() loader.loadDNAFile(self.dnaStore, 'phase_4/dna/storage.dna') self.dnaStore.storeFont('humanist', ToontownGlobals.getInterfaceFont()) self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont()) self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont()) loader.loadDNAFile(self.dnaStore, 'phase_3.5/dna/storage_interior.dna')
def loadDnaStore(self): if not hasattr(self, 'dnaStore'): self.dnaStore = DNAStorage() files = ('phase_4/dna/storage.pdna', 'phase_3.5/dna/storage_interior.pdna') dnaBulk = DNABulkLoader(self.dnaStore, files) dnaBulk.loadDNAFiles() self.dnaStore.storeFont('humanist', ToontownGlobals.getInterfaceFont()) self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont()) self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont())
def loadDnaStore(self): if not hasattr(self, "dnaStore"): self.dnaStore = DNAStorage() files = ("phase_4/dna/storage.pdna", "phase_3.5/dna/storage_interior.pdna") dnaBulk = DNABulkLoader(self.dnaStore, files) dnaBulk.loadDNAFiles() self.dnaStore.storeFont("humanist", ToontownGlobals.getInterfaceFont()) self.dnaStore.storeFont("mickey", ToontownGlobals.getSignFont()) self.dnaStore.storeFont("suit", ToontownGlobals.getSuitFont())
def _initModel(self): self.setPos(Globals.Gui.FuelPos2D[0], 0.0, Globals.Gui.FuelPos2D[1]) self.gui = CogdoUtil.loadFlyingModel('propellerMeter', group='gui') self.gui.reparentTo(self) self.gui.setBin('fixed', 0) self.healthBar = self.gui.find('**/healthBar') self.healthBar.setBin('fixed', 1) self.healthBar.setColor(*Globals.Gui.FuelNormalColor) bottomBarLocator = self.gui.find('**/bottomOfBar_loc') bottomBarPos = bottomBarLocator.getPos(render) topBarLocator = self.gui.find('**/topOfBar_loc') topBarPos = topBarLocator.getPos(render) zDist = topBarPos.getZ() - bottomBarPos.getZ() self.fuelLowIndicator = self.gui.find('**/fuelLowIndicator') self.fuelLowIndicator.setBin('fixed', 2) pos = self.fuelLowIndicator.getPos(render) newPos = pos newPos.setZ(bottomBarPos.getZ() + zDist * Globals.Gameplay.FuelLowAmt) self.fuelLowIndicator.setPos(render, newPos) self.fuelVeryLowIndicator = self.gui.find('**/fuelVeryLowIndicator') self.fuelVeryLowIndicator.setBin('fixed', 2) pos = self.fuelVeryLowIndicator.getPos(render) newPos = pos newPos.setZ(bottomBarPos.getZ() + zDist * Globals.Gameplay.FuelVeryLowAmt) self.fuelVeryLowIndicator.setPos(render, newPos) self.propellerMain = self.gui.find('**/propellers') self.propellerMain.setBin('fixed', 3) self.propellerHead = self.gui.find('**/propellerHead') self.propellerHead.setBin('fixed', 4) self.blades = [] self.activeBlades = [] index = 1 blade = self.propellerMain.find('**/propeller%d' % index) while not blade.isEmpty(): self.blades.append(blade) index += 1 blade = self.propellerMain.find('**/propeller%d' % index) for blade in self.blades: self.activeBlades.append(blade) self.bladeNumberLabel = DirectLabel(parent=self.propellerHead, relief=None, pos=(Globals.Gui.FuelNumBladesPos2D[0], 0, Globals.Gui.FuelNumBladesPos2D[1], ), scale=Globals.Gui.FuelNumBladesScale, text=str(len(self.activeBlades)), text_align=TextNode.ACenter, text_fg=(0.0, 0.0, -0.002, 1), text_shadow=(0.75, 0.75, 0.75, 1), text_font=ToontownGlobals.getInterfaceFont(), ) self.bladeNumberLabel.setBin('fixed', 5) return
def __init__(self): self.__expectedCount = 0 self.__count = 0 self.textures = [(loader.loadTexture('phase_3.5/maps/loading/toon.jpg'), ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1)), (loader.loadTexture('phase_3.5/maps/loading/cog.jpg'), ToontownGlobals.getSuitFont(), (1.0, 1.0, 1.0, 1)), (loader.loadTexture('phase_3.5/maps/loading/default.jpg'), ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1)) ] self.gui = loader.loadModel('phase_3/models/gui/progress-background.bam') self.title = DirectLabel(guiId='ToontownLoadingScreenTitle', parent=self.gui, relief=None, pos=(base.a2dRight/5, 0, 0.235), text='', textMayChange=1, text_scale=0.08, text_fg=(0, 0, 0.5, 1), text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont()) self.tip = DirectLabel(guiId='ToontownLoadingScreenTip', parent=self.gui, relief=None, pos=(0, 0, 0.045), text='', textMayChange=1, text_scale=0.05, text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_align=TextNode.ACenter) self.waitBar = DirectWaitBar(guiId='ToontownLoadingScreenWaitBar', parent=self.gui, frameSize=(base.a2dLeft+(base.a2dRight/4.95), base.a2dRight-(base.a2dRight/4.95), -0.03, 0.03), pos=(0, 0, 0.15), text='') logoScale = 0.5625 # Scale for our locked aspect ratio (2:1). self.logo = OnscreenImage( image='phase_3/maps/toontown-logo.png', scale=(logoScale * 2.0, 1, logoScale)) self.logo.reparentTo(hidden) self.logo.setTransparency(TransparencyAttrib.MAlpha) scale = self.logo.getScale() self.logo.setPos(0, 0, -scale[2])
def __init__(self, species=None, itemIndex=0, *extraArgs): """ genus is an integer key into GardenGlobals.PlantAttributes. itemIndex is an integer index into the item list (see optiondefs in FlowerBrowser). Create a DirectFrame for displaying the genus and it's species """ assert self.notify.debugStateCall(self) flowerGui = loader.loadModel("phase_3.5/models/gui/fishingBook") albumGui = flowerGui.find("**/photo_frame1") # The picture frame is in the wrong order, should be drawn first (at the back) # RAU 2006/08/01 But since now we have a PictureGroup, just move that pictureGroup = albumGui.attachNewNode('PictureGroup') hideList = ['corner_backs','shadow','bg','corners','picture'] for name in hideList: temp = flowerGui.find("**/%s" % name) if not temp.isEmpty(): temp.wrtReparentTo(pictureGroup) pictureGroup.setPos(0,0,1.0) albumGui.find("**/arrows").removeNode() optiondefs = ( ('relief', None, None), ('state', DGG.NORMAL, None), ('image', albumGui, None), ('image_scale', (0.025,0.025,0.025), None), ('image_pos', (0, 1, 0), None), ('text', TTLocalizer.FlowerUnknown, None), ('text_scale', 0.065, None), ('text_fg', (0.2,0.1,0.0,1), None), ('text_pos', (-0.5, -0.34), None), ('text_font', ToontownGlobals.getInterfaceFont(), None), ('text_wordwrap', 13.5, None), ('text_align', TextNode.ALeft, None), ) # Merge keyword options with default options self.defineoptions({}, optiondefs) # Initialize superclasses DirectFrame.__init__(self) self.initialiseoptions(FlowerSpeciesPanel) self.flowerPanel = None self.species = None self.variety = 0 self.flowerCollection = extraArgs[0] self.setSpecies(int(species)) self.setScale(1.2) albumGui.removeNode() self.beanRecipeGui = None
def loadDnaStore(self): if not hasattr(self, "dnaStore"): self.dnaStore = DNAStorage() loader.loadDNA("phase_4/dna/storage.xml").store(self.dnaStore) self.dnaStore.storeFont(ToontownGlobals.getInterfaceFont(), "humanist") self.dnaStore.storeFont(ToontownGlobals.getSignFont(), "mickey") self.dnaStore.storeFont(ToontownGlobals.getSuitFont(), "suit") loader.loadDNA("phase_3.5/dna/storage_interior.xml").store(self.dnaStore)
def loadDnaStore(self): if not hasattr(self, 'dnaStore'): self.dnaStore = DNAStorage() loader.loadDNA('phase_4/dna/storage.xml').store(self.dnaStore) self.dnaStore.storeFont(ToontownGlobals.getInterfaceFont(), 'humanist') self.dnaStore.storeFont(ToontownGlobals.getSignFont(), 'mickey') self.dnaStore.storeFont(ToontownGlobals.getSuitFont(), 'suit') loader.loadDNA('phase_3.5/dna/storage_interior.xml').store(self.dnaStore)
def loadDnaStore(self): if not hasattr(self, 'dnaStore'): self.dnaStore = DNAStorage() loader.loadDNA('phase_4/dna/storage.xml').store(self.dnaStore) self.dnaStore.storeFont(ToontownGlobals.getInterfaceFont(), 'humanist') self.dnaStore.storeFont(ToontownGlobals.getSignFont(), 'mickey') self.dnaStore.storeFont(ToontownGlobals.getSuitFont(), 'suit') loader.loadDNA('phase_3.5/dna/storage_interior.xml').store( self.dnaStore)
def setClarabelleChat(self, str, timeout = 6, type = None): self.clearClarabelleChat() if not self.clarabelleChatBalloon: self.clarabelleChatBalloon = loader.loadModel('phase_3/models/props/chatbox') self.clarabelleChat = CatalogChatBalloon.CatalogChatBalloon(self.clarabelleChatBalloon) chatNode = self.clarabelleChat.generate(str, ToontownGlobals.getInterfaceFont())[0] self.clarabelleChatNP = self.attachNewNode(chatNode.node(), 1000) self.clarabelleChatNP.setScale(0.08) self.clarabelleChatNP.setPos(0.7, 0, 0.6) if timeout: taskMgr.doMethodLater(timeout, self.clearClarabelleChat, 'clearClarabelleChat')
def generatePage(self): pageText = '%s - %s' % (self.category, self.pageNum) self.textNode = TextNode(pageText) self.textNode.setText(pageText) self.textNode.setFont(ToontownGlobals.getInterfaceFont()) self.textNode = self.attachNewNode(self.textNode) self.textNode.setPos(*CatalogGlobals.ItemPageTextLoc) self.textNode.setScale(CatalogGlobals.ItemPageTextScale) self.textNode.setColor(0, 0, 0, 1) for (x, item) in enumerate(self.catalogItems): itemFrame = CatalogItemPanel(parent=self, parentCatalogScreen=self.parent, item=item) itemFrame.load() itemFrame.setPos(*CatalogGlobals.CatalogPropPos[x]) self.itemFrames.append(itemFrame)
def setClarabelleChat(self, str, timeout = 6, type = None): self.clearClarabelleChat() if not self.clarabelleChatBalloon: self.clarabelleChatBalloon = loader.loadModel('phase_3/models/props/chatbox') self.clarabelleChat = ChatBalloon(self.clarabelleChatBalloon) chatNode = self.clarabelleChat.generate(str, ToontownGlobals.getInterfaceFont())[0] self.clarabelleChatNP = self.attachNewNode(chatNode.node(), 1000) self.clarabelleChatNP.setScale(0.08) self.clarabelleChatNP.setPos(0.7, 0, 0.6) if timeout: taskMgr.doMethodLater(timeout, self.clearClarabelleChat, 'clearClarabelleChat')
def addTrashButton(posZ, text, extraArg): return DirectButton(parent=self.trashPanel, image=trashImage, relief=None, pos=(-0.09, 0, posZ), command=self.__handleDelete, text=text, extraArgs=[extraArg], scale=(0.5, 0.5, 0.5), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.12, text_pos=(0.3, 0), text_fg=(0.8, 0.2, 0.2, 1), text_shadow=(0, 0, 0, 1), textMayChange=0)
def __init__(self, trackId, callback): DirectFrame.__init__(self, relief=None) self.initialiseoptions(TrackPoster) bookModel = loader.loadModel('phase_3.5/models/gui/stickerbook_gui') trackName = ToontownBattleGlobals.Tracks[trackId].capitalize() self.poster = DirectFrame(parent=self, relief=None, image=bookModel.find('**/questCard'), image_scale=(0.4, 0.29, 0.29)) invModel = loader.loadModel('phase_3.5/models/gui/inventory_icons') iconGeom = invModel.find('**/' + ToontownBattleGlobals.AvPropsNew[trackId][5]) invModel.removeNode() self.pictureFrame = DirectFrame( parent=self.poster, relief=None, image=bookModel.find('**/questPictureFrame'), image_scale=0.125, image_color=(0.45, 0.8, 0.45, 1), text=trackName, text_font=ToontownGlobals.getInterfaceFont(), text_pos=(0, -0.14), text_fg=self.normalTextColor, text_scale=0.05, text_align=TextNode.ACenter, text_wordwrap=8.0, textMayChange=0, geom=iconGeom, geom_scale=(0.8, 0.8, 0.8), pos=(0.0, 0, 0.05)) bookModel.removeNode() guiButton = loader.loadModel('phase_3/models/gui/quit_button') self.chooseButton = DirectButton( parent=self.poster, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=(0.7, 1, 1), text=TTLocalizer.TrackChoiceGuiChoose, text_scale=0.06, text_pos=(0, -0.02), command=callback, extraArgs=[trackId], pos=(0, 0, -0.20), scale=0.8) guiButton.removeNode() return
def _initModel(self): self.setPos(Globals.Gui.FuelPos2D[0], 0.0, Globals.Gui.FuelPos2D[1]) self.gui = CogdoUtil.loadFlyingModel('propellerMeter', group='gui') self.gui.reparentTo(self) self.gui.setBin('fixed', 0) self.healthBar = self.gui.find('**/healthBar') self.healthBar.setBin('fixed', 1) self.healthBar.setColor(*Globals.Gui.FuelNormalColor) bottomBarLocator = self.gui.find('**/bottomOfBar_loc') bottomBarPos = bottomBarLocator.getPos(render) topBarLocator = self.gui.find('**/topOfBar_loc') topBarPos = topBarLocator.getPos(render) zDist = topBarPos.getZ() - bottomBarPos.getZ() self.fuelLowIndicator = self.gui.find('**/fuelLowIndicator') self.fuelLowIndicator.setBin('fixed', 2) pos = self.fuelLowIndicator.getPos(render) newPos = pos newPos.setZ(bottomBarPos.getZ() + zDist * Globals.Gameplay.FuelLowAmt) self.fuelLowIndicator.setPos(render, newPos) self.fuelVeryLowIndicator = self.gui.find('**/fuelVeryLowIndicator') self.fuelVeryLowIndicator.setBin('fixed', 2) pos = self.fuelVeryLowIndicator.getPos(render) newPos = pos newPos.setZ(bottomBarPos.getZ() + zDist * Globals.Gameplay.FuelVeryLowAmt) self.fuelVeryLowIndicator.setPos(render, newPos) self.propellerMain = self.gui.find('**/propellers') self.propellerMain.setBin('fixed', 3) self.propellerHead = self.gui.find('**/propellerHead') self.propellerHead.setBin('fixed', 4) self.blades = [] self.activeBlades = [] index = 1 blade = self.propellerMain.find('**/propeller%d' % index) while not blade.isEmpty(): self.blades.append(blade) index += 1 blade = self.propellerMain.find('**/propeller%d' % index) for blade in self.blades: self.activeBlades.append(blade) self.bladeNumberLabel = DirectLabel(parent=self.propellerHead, relief=None, pos=(Globals.Gui.FuelNumBladesPos2D[0], 0, Globals.Gui.FuelNumBladesPos2D[1]), scale=Globals.Gui.FuelNumBladesScale, text=str(len(self.activeBlades)), text_align=TextNode.ACenter, text_fg=(0.0, 0.0, -0.002, 1), text_shadow=(0.75, 0.75, 0.75, 1), text_font=ToontownGlobals.getInterfaceFont()) self.bladeNumberLabel.setBin('fixed', 5) return
def addTrashButton(posZ, text, extraArg): return DirectButton( parent=self.trashPanel, image=trashImage, relief=None, pos=(-0.09, 0, posZ), command=self.__handleDelete, text=text, extraArgs=[extraArg], scale=(0.5, 0.5, 0.5), text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.12, text_pos=(0.3, 0), text_fg=(0.8, 0.2, 0.2, 1), text_shadow=(0, 0, 0, 1), textMayChange=0, )
def __init__(self, trackId, callback): DirectFrame.__init__(self, relief=None) self.initialiseoptions(TrackPoster) bookModel = loader.loadModel("phase_3.5/models/gui/stickerbook_gui") trackName = ToontownBattleGlobals.Tracks[trackId].capitalize() self.poster = DirectFrame( parent=self, relief=None, image=bookModel.find("**/questCard"), image_scale=(0.4, 0.29, 0.29) ) invModel = loader.loadModel("phase_3.5/models/gui/inventory_icons") iconGeom = invModel.find("**/" + ToontownBattleGlobals.AvPropsNew[trackId][5]) invModel.removeNode() self.pictureFrame = DirectFrame( parent=self.poster, relief=None, image=bookModel.find("**/questPictureFrame"), image_scale=0.125, image_color=(0.45, 0.8, 0.45, 1), text=trackName, text_font=ToontownGlobals.getInterfaceFont(), text_pos=(0, -0.14), text_fg=self.normalTextColor, text_scale=0.05, text_align=TextNode.ACenter, text_wordwrap=8.0, textMayChange=0, geom=iconGeom, geom_scale=(0.8, 0.8, 0.8), pos=(0.0, 0, 0.05), ) bookModel.removeNode() guiButton = loader.loadModel("phase_3/models/gui/quit_button") self.chooseButton = DirectButton( parent=self.poster, relief=None, image=(guiButton.find("**/QuitBtn_UP"), guiButton.find("**/QuitBtn_DN"), guiButton.find("**/QuitBtn_RLVR")), image_scale=(0.7, 1, 1), text=TTLocalizer.TrackChoiceGuiChoose, text_scale=0.06, text_pos=(0, -0.02), command=callback, extraArgs=[trackId], pos=(0, 0, -0.20), scale=0.8, ) guiButton.removeNode() return
def __init__(self, index, lockCallback, **kw): optiondefs = ( ('relief', None, None), ('image', DGG.getDefaultDialogGeom(), None), ('image_color', ToontownGlobals.GlobalDialogColor, None), ('image_scale', (0.35, 1, 0.45), None), ('text', "", None), ('text_scale', 0.06, None), ('text_fg', (0, 0, 0, 1), None), ('text_pos', (0, 0.35, 0), None), ('text_font', ToontownGlobals.getInterfaceFont(), None), ('text_wordwrap', 13.5, None), ) # Merge keyword options with default options self.defineoptions(kw, optiondefs) DirectFrame.__init__(self) self.initialiseoptions(FishPokerCard) self.index = index self.fish = None guiButton = loader.loadModel("phase_3/models/gui/quit_button") self.lockCallback = lockCallback self.lockButton = DirectButton( parent=self, relief=None, image=( guiButton.find("**/QuitBtn_UP"), guiButton.find("**/QuitBtn_DN"), guiButton.find("**/QuitBtn_RLVR"), ), image_scale=1, text=TTLocalizer.FishPokerLock, text_scale=0.06, textMayChange=1, pos=(0, 0, 0.2), command=self.toggleLock, ) # TODO: image of fish here self.fishFrame = DirectFrame( parent=self, relief=None, text="", text_scale=0.05, pos=(0, 0, -0.2), ) guiButton.removeNode()
def setSpecies(self, species): if self.species == species: return self.species = species if self.species != None: if self.flowerPanel: self.flowerPanel.destroy() varietyToUse = self.flowerCollection.getInitialVariety( self.species) self.variety = varietyToUse self.flowerPanel = FlowerPhoto.FlowerPhoto(species=self.species, variety=varietyToUse, parent=self) zAdj = 0.0131 xAdj = -0.002 self.flowerPanel.setPos(-0.229 + xAdj, 1, -0.01 + zAdj) self.flowerPanel.setSwimBounds(-0.2461, 0.2367, -0.207 + zAdj, 0.2664 + zAdj) self.flowerPanel.setSwimColor(0.75, 0.75, 0.75, 1.0) varietyList = GardenGlobals.getFlowerVarieties(self.species) self.speciesLabels = [] offset = 0.075 startPos = len(varietyList) / 2 * offset if not len(varietyList) % 2: startPos -= offset / 2 for variety in range(len(varietyList)): label = DirectButton( parent=self, frameSize=(0, 0.445, -0.02, 0.04), relief=None, state=DGG.DISABLED, pos=(0.06, 0, startPos - variety * offset), text=TTLocalizer.FlowerUnknown, text_fg=(0.2, 0.1, 0.0, 1), text_scale=(0.045, 0.045, 0.45), text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont(), command=self.changeVariety, extraArgs=[variety], text1_bg=Vec4(1, 1, 0, 1), text2_bg=Vec4(0.5, 0.9, 1, 1), text3_fg=Vec4(0.4, 0.8, 0.4, 1)) self.speciesLabels.append(label) return
def __init__(self, flower = None, parent = aspect2d, doneEvent = None, **kw): optiondefs = (('relief', None, None), ('state', DGG.DISABLED, None), ('image', DGG.getDefaultDialogGeom(), None), ('image_color', ToontownGlobals.GlobalDialogColor, None), ('image_scale', (0.65, 1, 0.85), None), ('text', '', None), ('text_scale', 0.06, None), ('text_fg', (0, 0, 0, 1), None), ('text_pos', (0, 0.35, 0), None), ('text_font', ToontownGlobals.getInterfaceFont(), None), ('text_wordwrap', 13.5, None)) self.defineoptions(kw, optiondefs) DirectFrame.__init__(self, parent) self.initialiseoptions(FlowerPanel) self.doneEvent = doneEvent self.flower = flower self.parent = parent self.photo = None
def makeGui(self): self.notify.debugStateCall(self) if hasattr(self, 'cancelButton'): return fishGui = loader.loadModel('phase_4/models/gui/fishingGui') self.cancelButton = DirectGui.DirectButton( relief=None, scale=0.67, pos=(1.16, 0, -0.9), text=('', TTLocalizer.FishingExit, TTLocalizer.FishingExit), text_align=TextNode.ACenter, text_fg=Vec4(1, 1, 1, 1), text_shadow=Vec4(0, 0, 0, 1), text_pos=(0.0, -0.12), textMayChange=0, text_scale=0.1, image=(fishGui.find('**/exit_buttonUp'), fishGui.find('**/exit_buttonDown'), fishGui.find('**/exit_buttonRollover')), text_font=ToontownGlobals.getInterfaceFont(), command=self.d_requestExit) self.cancelButton.hide() return
def showRolloverFrame(self, parent, type, text, extra=None): dict = TTLocalizer.BattleHoverAttributes[type] for key, value in dict.iteritems(): if key == "pos": self.rolloverFrame.setPos(value) elif key == "suit": if value: self.rolloverFrame["text_font"] = ToontownGlobals.getSuitFont() self.rolloverFrame["geom"] = self.suitGui.find("**/avatar_panel") else: self.rolloverFrame["text_font"] = ToontownGlobals.getInterfaceFont() self.rolloverFrame["geom"] = DGG.getDefaultDialogGeom() else: self.rolloverFrame[key] = value self.rolloverFrame.reparentTo(parent) self.rolloverFrame.show() self.rolloverFrame["text"] = text
def setSpecies(self, species): if self.species == species: return self.species = species if self.species != None: if self.flowerPanel: self.flowerPanel.destroy() varietyToUse = self.flowerCollection.getInitialVariety(self.species) self.variety = varietyToUse self.flowerPanel = FlowerPhoto.FlowerPhoto(species=self.species, variety=varietyToUse, parent=self) zAdj = 0.0131 xAdj = -0.002 self.flowerPanel.setPos(-0.229 + xAdj, 1, -0.01 + zAdj) self.flowerPanel.setSwimBounds(-0.2461, 0.2367, -0.207 + zAdj, 0.2664 + zAdj) self.flowerPanel.setSwimColor(0.75, 0.75, 0.75, 1.0) varietyList = GardenGlobals.getFlowerVarieties(self.species) self.speciesLabels = [] offset = 0.075 startPos = len(varietyList) / 2 * offset if not len(varietyList) % 2: startPos -= offset / 2 for variety in xrange(len(varietyList)): label = DirectButton( parent=self, frameSize=(0, 0.445, -0.02, 0.04), relief=None, state=DGG.DISABLED, pos=(0.06, 0, startPos - variety * offset), text=TTLocalizer.FlowerUnknown, text_fg=(0.2, 0.1, 0.0, 1), text_scale=(0.045, 0.045, 0.45), text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont(), command=self.changeVariety, extraArgs=[variety], text1_bg=Vec4(1, 1, 0, 1), text2_bg=Vec4(0.5, 0.9, 1, 1), text3_fg=Vec4(0.4, 0.8, 0.4, 1), ) self.speciesLabels.append(label) return
def __init__(self, species = None, itemIndex = 0, *extraArgs): flowerGui = loader.loadModel('phase_3.5/models/gui/fishingBook') albumGui = flowerGui.find('**/photo_frame1') pictureGroup = albumGui.attachNewNode('PictureGroup') hideList = ['corner_backs', 'shadow', 'bg', 'corners', 'picture'] for name in hideList: temp = flowerGui.find('**/%s' % name) if not temp.isEmpty(): temp.wrtReparentTo(pictureGroup) pictureGroup.setPos(0, 0, 1.0) albumGui.find('**/arrows').removeNode() optiondefs = (('relief', None, None), ('state', DGG.NORMAL, None), ('image', albumGui, None), ('image_scale', (0.025, 0.025, 0.025), None), ('image_pos', (0, 1, 0), None), ('text', TTLocalizer.FlowerUnknown, None), ('text_scale', 0.065, None), ('text_fg', (0.2, 0.1, 0.0, 1), None), ('text_pos', (-0.5, -0.34), None), ('text_font', ToontownGlobals.getInterfaceFont(), None), ('text_wordwrap', 13.5, None), ('text_align', TextNode.ALeft, None)) self.defineoptions({}, optiondefs) DirectFrame.__init__(self) self.initialiseoptions(FlowerSpeciesPanel) self.flowerPanel = None self.species = None self.variety = 0 self.flowerCollection = extraArgs[0] self.setSpecies(int(species)) self.setScale(1.2) albumGui.removeNode() self.beanRecipeGui = None return
def create(self): self.background = OnscreenImage(parent=render2d, image="phase_3.5/maps/blackboardEmpty.jpg") self.gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui') self.shuffleUp = self.gui.find('**/tt_t_gui_mat_shuffleUp') self.shuffleDown = self.gui.find('**/tt_t_gui_mat_shuffleDown') self.title = DirectLabel(aspect2d, relief=None, text=TTLocalizer.LanguageSelectorTitle, text_fg=(0, 1, 0, 1), text_scale=0.15, text_font=ToontownGlobals.getSuitFont(), pos=(0, 0, 0.70), text_shadow=(0, 0.392, 0, 1)) self.current = DirectLabel(aspect2d, relief=None, text=TTLocalizer.LanguageSelectorCurrent % settings['language'], text_fg=(0, 1, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(), pos=(0, 0, 0.55), text_shadow=(0, 0.392, 0, 1)) self.available = DirectLabel(aspect2d, relief=None, text=TTLocalizer.LanguageSelectorAvailable, text_fg=(1, 0, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(), pos=(0, 0, 0), text_shadow=(0.545, 0, 0, 1)) self.english = DirectButton(aspect2d, relief=None, text='English', text_fg=(1, 0.549, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(), pos=(0, 0, -0.15), text_shadow=(1, 0.27, 0, 1), command=self.switchLanguage, extraArgs=['English']) self.french = DirectButton(aspect2d, relief=None, text='French', text_fg=(1, 0.549, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(), pos=(0, 0, -0.25), text_shadow=(1, 0.27, 0, 1), command=self.switchLanguage, extraArgs=['French']) self.portuguese = DirectButton(aspect2d, relief=None, text='Portuguese', text_fg=(1, 0.549, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(), pos=(0, 0, -0.35), text_shadow=(1, 0.27, 0, 1), command=self.switchLanguage, extraArgs=['Portuguese']) self.german = DirectButton(aspect2d, relief=None, text='German', text_fg=(1, 0.549, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(), pos=(0, 0, -0.45), text_shadow=(1, 0.27, 0, 1), command=self.switchLanguage, extraArgs=['German']) self.backButton = DirectButton(aspect2d, relief=None, image=(self.shuffleUp, self.shuffleDown), text=TTLocalizer.LanguageSelectorBack, text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.11, text_pos=(0, -0.02), pos=(0, 0, -0.75), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.destroy)
def __init__(self, species=None, itemIndex=0, *extraArgs): flowerGui = loader.loadModel("phase_3.5/models/gui/fishingBook") albumGui = flowerGui.find("**/photo_frame1") pictureGroup = albumGui.attachNewNode("PictureGroup") hideList = ["corner_backs", "shadow", "bg", "corners", "picture"] for name in hideList: temp = flowerGui.find("**/%s" % name) if not temp.isEmpty(): temp.wrtReparentTo(pictureGroup) pictureGroup.setPos(0, 0, 1.0) albumGui.find("**/arrows").removeNode() optiondefs = ( ("relief", None, None), ("state", DGG.NORMAL, None), ("image", albumGui, None), ("image_scale", (0.025, 0.025, 0.025), None), ("image_pos", (0, 1, 0), None), ("text", TTLocalizer.FlowerUnknown, None), ("text_scale", 0.065, None), ("text_fg", (0.2, 0.1, 0.0, 1), None), ("text_pos", (-0.5, -0.34), None), ("text_font", ToontownGlobals.getInterfaceFont(), None), ("text_wordwrap", 13.5, None), ("text_align", TextNode.ALeft, None), ) self.defineoptions({}, optiondefs) DirectFrame.__init__(self) self.initialiseoptions(FlowerSpeciesPanel) self.flowerPanel = None self.species = None self.variety = 0 self.flowerCollection = extraArgs[0] self.setSpecies(int(species)) self.setScale(1.2) albumGui.removeNode() self.beanRecipeGui = None return
def load(self): btnGui = loader.loadModel('phase_3.5/models/gui/tt_m_gui_ign_newsBtnGui') bookModel = loader.loadModel('phase_3.5/models/gui/tt_m_gui_ign_shtickerBook') self.openNewNewsUp = btnGui.find('**/tt_t_gui_ign_new') self.openNewNewsUpBlink = btnGui.find('**/tt_t_gui_ign_newBlink') self.openNewNewsHover = btnGui.find('**/tt_t_gui_ign_newHover') self.openOldNewsUp = btnGui.find('**/tt_t_gui_ign_oldNews') self.openOldNewsHover = btnGui.find('**/tt_t_gui_ign_oldHover') self.closeNewsUp = bookModel.find('**/tt_t_gui_sbk_newsPage1') self.closeNewsHover = bookModel.find('**/tt_t_gui_sbk_newsPage2') btnGui.removeNode() bookModel.removeNode() oldScale = 0.5 newScale = 0.9 shtickerBookScale = 0.305 newPos = VBase3(0.914, 0, 0.862) shtickerBookPos = VBase3(1.175, 0, -0.83) textScale = 0.06 self.newIssueButton = DirectButton(relief=None, sortOrder=DGG.BACKGROUND_SORT_INDEX - 1, image=(self.openNewNewsUp, self.openNewNewsHover, self.openNewNewsHover), text=('', TTLocalizer.EventsPageNewsTabName, TTLocalizer.EventsPageNewsTabName), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_scale=textScale, text_font=ToontownGlobals.getInterfaceFont(), pos=newPos, scale=newScale, command=self.__handleGotoNewsButton) self.gotoPrevPageButton = DirectButton(relief=None, image=(self.closeNewsUp, self.closeNewsHover, self.closeNewsHover), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_scale=textScale, text_font=ToontownGlobals.getInterfaceFont(), pos=shtickerBookPos, scale=shtickerBookScale, command=self.__handleGotoPrevPageButton) self.goto3dWorldButton = DirectButton(relief=None, image=(self.closeNewsUp, self.closeNewsHover, self.closeNewsHover), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_scale=textScale, text_font=ToontownGlobals.getInterfaceFont(), pos=shtickerBookPos, scale=shtickerBookScale, command=self.__handleGoto3dWorldButton) self.hideNewIssueButton() self.gotoPrevPageButton.hide() self.goto3dWorldButton.hide() self.accept('newIssueOut', self.handleNewIssueOut) bounce1Pos = VBase3(newPos.getX(), newPos.getY(), newPos.getZ() + 0.022) bounce2Pos = VBase3(newPos.getX(), newPos.getY(), newPos.getZ() + 0.015) bounceIval = Sequence(LerpPosInterval(self.newIssueButton, 0.1, bounce1Pos, blendType='easeOut'), LerpPosInterval(self.newIssueButton, 0.1, newPos, blendType='easeIn'), LerpPosInterval(self.newIssueButton, 0.07, bounce2Pos, blendType='easeOut'), LerpPosInterval(self.newIssueButton, 0.07, newPos, blendType='easeIn')) self.__blinkIval = Sequence(Func(self.__showOpenEyes), Wait(2), bounceIval, Wait(0.5), Func(self.__showClosedEyes), Wait(0.1), Func(self.__showOpenEyes), Wait(0.1), Func(self.__showClosedEyes), Wait(0.1)) self.__blinkIval.loop() self.__blinkIval.pause() self.buttonsLoaded = True return
def load(self): self.weight = DirectLabel(parent=self, pos=(0, 0, -0.28), relief=None, state=DGG.NORMAL, text='', text_scale=0.05, text_fg=(0, 0, 0, 1), text_pos=(0, 0.0, 0), text_font=ToontownGlobals.getInterfaceFont(), text_wordwrap=10.5) self.value = DirectLabel(parent=self, pos=TTLocalizer.FPvaluePos, relief=None, state=DGG.NORMAL, text='', text_scale=TTLocalizer.FPvalue, text_fg=(0, 0, 0, 1), text_pos=(0, 0, 0), text_font=ToontownGlobals.getInterfaceFont(), text_wordwrap=10.5) self.mystery = DirectLabel(parent=self, pos=(-0.025, 0, -0.055), relief=None, state=DGG.NORMAL, text='?', text_scale=0.25, text_fg=(0, 0, 0, 1), text_pos=(0, 0, 0), text_font=ToontownGlobals.getInterfaceFont(), text_wordwrap=10.5) self.extraLabel = DirectLabel(parent=self, relief=None, state=DGG.NORMAL, text='', text_fg=(0.2, 0.8, 0.4, 1), text_font=ToontownGlobals.getSignFont(), text_scale=0.08, pos=(0, 0, 0.26)) buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui') self.cancel = DirectButton(parent=self, pos=(0.275, 0, -0.375), relief=None, state=DGG.NORMAL, image=(buttons.find('**/CloseBtn_UP'), buttons.find('**/CloseBtn_DN'), buttons.find('**/CloseBtn_Rllvr')), image_scale=(0.6, 1, 0.6), command=self.handleCancel) buttons.removeNode() self.photo = FlowerPhoto.FlowerPhoto(parent=self) self.update(self.flower)
def setGenus(self, genus): if self.genus == genus: return self.genus = genus if self.genus != None: if self.fishPanel: self.fishPanel.destroy() f = FishBase.FishBase(self.genus, 0, 0) self.fishPanel = FishPhoto.FishPhoto(fish=f, parent=self) self.fishPanel.setPos(-0.23, 1, -0.01) self.fishPanel.setSwimBounds(-0.2461, 0.2367, -0.207, 0.2664) self.fishPanel.setSwimColor(0.47, 1.0, 0.99, 1.0) speciesList = FishGlobals.getSpecies(self.genus) self.speciesLabels = [] offset = 0.075 startPos = len(speciesList) / 2 * offset if not len(speciesList) % 2: startPos -= offset / 2 for species in range(len(speciesList)): label = DirectLabel(parent=self, relief=None, state=DGG.NORMAL, pos=(0.06, 0, startPos - species * offset), text=TTLocalizer.UnknownFish, text_fg=(0.2, 0.1, 0.0, 1), text_scale=TTLocalizer.GPgenus, text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont()) self.speciesLabels.append(label) return