def __init__(self, version='n/a'): DirectObject.__init__(self) self.backgroundNodePath = render2d.attachNewNode('background', 0) self.backgroundModel = loader.loadModel( 'phase_3/models/gui/loading-background.bam') self.backgroundModel.reparentTo(self.backgroundNodePath) self.backgroundNodePath.find('**/fg').removeNode() self.backgroundNodePath.setScale(1, 1, 1) self.logo = OnscreenImage( parent=base.a2dTopCenter, image='phase_3/maps/toontown-logo.png', scale=(1.0, 1, 0.5), pos=(0, 0, -0.85)) self.logo.setTransparency(TransparencyAttrib.MAlpha) self.label = OnscreenText( TTLocalizer.ClickToStartLabel, parent=base.a2dBottomCenter, font=ToontownGlobals.getMinnieFont(), fg=Vec4(1, 1, 1, 1), scale=0.1, align=TextNode.ACenter) self.label.setZ(0.35) self.versionLabel = OnscreenText( '\x01white_shadow\x01%s\x02' % version, parent=base.a2dBottomRight, font=ToontownGlobals.getMinnieFont(), fg=Vec4(0, 0, 0, 1), scale=0.06, align=TextNode.ARight) self.versionLabel.setPos(-0.025, 0.025) self.setColorScale(Vec4(0, 0, 0, 0)) self.fadeTrack = None self.logoPosTrack = None self.logoScaleTrack = None self.labelPosTrack = None self.labelColorScaleTrack = None
def load(self): self.sceneRoot = NodePath('Shockley') base.setBackgroundColor(0, 0, 0, 1) self.title = OnscreenText(text='Shockley ', pos=(0.6, 0.15, 0.0), scale=(0.15), fg=(1, 1, 1, 1), font=ToontownGlobals.getSignFont(), align=TextNode.ACenter) self.description = OnscreenText( text='Lead Developer\nNetwork Technician\nGame Systems Engineer', pos=(0.25, 0.05, 0.0), scale=(0.06), fg=(1, 1, 1, 1), font=ToontownGlobals.getMinnieFont(), align=TextNode.ALeft) self.image = OnscreenImage( image='phase_4/maps/news/11-17-13_garden.jpg', pos=(-0.5, 0.0, 0.0), scale=(0.5, 0.30, 0.30)) self.elements = [self.title, self.description, self.image] for node in self.elements: node.setTransparency(1) if self.preload: node.setColorScale(1, 1, 1, 0)
def setupSignText(self): loader = self.cr.playGame.hood.loader partyGate = loader.geom.find("**/partyGateSignGroup") if partyGate.isEmpty(): self.notify.warning("Could not find partyGate_grp in loader.geom") return None gateFont = ToontownGlobals.getMinnieFont() leftSign = partyGate.find("**/signTextL_locatorBack") signScale = 0.34999999999999998 wordWrap = 8 leftText = DirectLabel.DirectLabel( parent=leftSign, pos=(0, 0.0, 0.0), relief=None, text=TTLocalizer.PartyGateLeftSign, text_align=TextNode.ACenter, text_font=gateFont, text_wordwrap=wordWrap, text_fg=Vec4(0.69999999999999996, 0.29999999999999999, 0.29999999999999999, 1.0), scale=signScale, ) rightSign = partyGate.find("**/signTextR_locatorFront") rightText = DirectLabel.DirectLabel( parent=rightSign, pos=(0, 0.0, 0.0), relief=None, text=TTLocalizer.PartyGateRightSign, text_align=TextNode.ACenter, text_font=gateFont, text_wordwrap=wordWrap, text_fg=Vec4(0.69999999999999996, 0.29999999999999999, 0.29999999999999999, 1.0), scale=signScale, )
def createGuiObjects(self): textScale = 0.075 timeFont = ToontownGlobals.getMinnieFont() self.hourLabel = DirectLabel(parent=self, pos=(-0.015, 0, 0), relief=None, text='', text_scale=textScale, text_align=TextNode.ARight, text_font=timeFont) self.colonLabel = DirectLabel(parent=self, relief=None, text=':', text_scale=textScale, text_align=TextNode.ACenter, text_font=timeFont) self.minutesLabel = DirectLabel(relief=None, parent=self, pos=(0.015, 0, 0), text='', text_scale=textScale, text_align=TextNode.ALeft, text_font=timeFont) self.amLabel = DirectLabel(relief=None, parent=self, pos=(0.14, 0, 0), text='', text_scale=textScale, text_align=TextNode.ALeft, text_font=timeFont) self.ival = Sequence(Func(self.colonLabel.show), Wait(0.75), Func(self.colonLabel.hide), Wait(0.25), Func(self.updateTime)) self.ival.loop() return
def load(self): ShtikerPage.ShtikerPage.load(self) self.avAchievements = localAvatar.achievements self.title = DirectLabel(parent=self, relief=None, text=TTLocalizer.AchievementsPageTitle, text_scale=0.12, textMayChange=1, pos=(0, 0, 0.62)) start_pos = LVecBase3(0.72, 1, -0.21) seperation = LVecBase3(0.45, 0, 0.4) cardModel = loader.loadModel('phase_3.5/models/gui/playingCard') incButton = (self.gui.find('**/FndsLst_ScrollUp'), self.gui.find('**/FndsLst_ScrollDN'), self.gui.find('**/FndsLst_ScrollUp_Rllvr'), self.gui.find('**/FndsLst_ScrollUp')) self.scrollFrame = DirectScrolledFrame(parent=self, frameSize=(0, 1.5, -1.2, 0), pos=(-0.75, 1, 0.52), canvasSize=(0, 1, -7, 0), frameColor=(0.85, 0.95, 1, 1)) for achievement in xrange(len(AchievementsGlobals.AchievementTitles)): achievementFrame = DirectFrame(parent=self.scrollFrame.getCanvas(), image=DGG.getDefaultDialogGeom(), scale=(1.3, 0, 0.32), relief=None, pos=(start_pos.x, 1, start_pos.z - seperation.z * achievement), text=AchievementsGlobals.AchievementTitles[achievement], text_scale=(0.05, 0.13), text_font=ToontownGlobals.getMinnieFont(), text_pos=(0, 0, 0)) self.achievements.append(achievementFrame) if achievement in self.avAchievements: achievementFrame['text'] = AchievementsGlobals.AchievementTitles[achievement] achievementFrame['text_pos'] = (0, 0.2, -0.2) else: achievementFrame['text'] = '???'
def __init__(self): self.__expectedCount = 0 self.__count = 0 self.screen = loader.loadModel('phase_3/models/gui/progress-background') self.gui = self.screen.find('**/bg') self.shadow = self.screen.find('**/bar_shadow') self.shadow.reparentTo(self.gui) self.banner = hidden.attachNewNode('__dummy__') self.tip = DirectLabel(guiId='ToontownLoadingScreenTip', parent = self.banner, relief = None, text='', text_scale = TTLocalizer.TLStip, textMayChange = 1, pos=(-0.41, 0.0, 0.235), text_fg = (0.4, 0.3, 0.2, 1), text_wordwrap = 9, text_align = TextNode.ALeft) self.title = DirectLabel(guiId = 'ToontownLoadingScreenTitle', parent = self.gui, relief = None, pos = (-1.06, 0, -0.77), text = '', textMayChange = 1, text_scale = 0.08, text_fg = (0, .9, 0, 1), text_align = TextNode.ALeft, text_font = ToontownGlobals.getMinnieFont()) self.waitBar = DirectWaitBar(guiId = 'ToontownLoadingScreenWaitBar', parent = self.gui, frameSize = (-1.06, 1.06, -0.03, 0.03), pos = (0, 0, -0.85), text = '') self.logo = OnscreenImage('phase_3/maps/toontown-logo-new.png') self.logo.reparentTo(self.gui) self.logo.setScale(self.gui, (0.53,1,0.35)) self.logo.setTransparency(TransparencyAttrib.MAlpha) self.logo.setZ(0.73)
def setupSignText(self): loader = self.cr.playGame.hood.loader partyGate = loader.geom.find('**/partyGateSignGroup') if partyGate.isEmpty(): self.notify.warning('Could not find partyGate_grp in loader.geom') return gateFont = ToontownGlobals.getMinnieFont() leftSign = partyGate.find('**/signTextL_locatorBack') signScale = 0.35 wordWrap = 8 leftText = DirectLabel.DirectLabel(parent=leftSign, pos=(0, 0.0, 0.0), relief=None, text=TTLocalizer.PartyGateLeftSign, text_align=TextNode.ACenter, text_font=gateFont, text_wordwrap=wordWrap, text_fg=Vec4(0.7, 0.3, 0.3, 1.0), scale=signScale) rightSign = partyGate.find('**/signTextR_locatorFront') rightText = DirectLabel.DirectLabel( parent=rightSign, pos=(0, 0.0, 0.0), relief=None, text=TTLocalizer.PartyGateRightSign, text_align=TextNode.ACenter, text_font=gateFont, text_wordwrap=wordWrap, text_fg=Vec4(0.7, 0.3, 0.3, 1.0), scale=signScale) return
def createDoorTimer(self, team): timer = ToontownTimer(useImage=False, highlightNearEnd=False) timer['text_font'] = ToontownGlobals.getMinnieFont() timer.setFontColor(PartyGlobals.CogActivityColors[team]) timer.setScale(7.0) timer.setPos(0.2, -0.03, 0.0) return timer
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 updatePage(self): print 'updating achievements page' self.avAchievements = localAvatar.achievements for achievement in self.achievements: achievement.destroy() del self.achievements self.achievements = [] start_pos = LVecBase3(0.72, 1, -0.21) seperation = LVecBase3(0.45, 0, 0.4) for achievement in xrange(len(AchievementsGlobals.AchievementTitles)): achievementFrame = DirectFrame(parent=self.scrollFrame.getCanvas(), image=DGG.getDefaultDialogGeom(), scale=(1.3, 0, 0.32), relief=None, pos=(start_pos.x, 1, start_pos.z - seperation.z * achievement), text=AchievementsGlobals.AchievementTitles[achievement], text_scale=(0.05, 0.13), text_font=ToontownGlobals.getMinnieFont(), text_pos=(0, 0, 0)) self.achievements.append(achievementFrame) if achievement in self.avAchievements: achievementFrame['text'] = AchievementsGlobals.AchievementTitles[achievement] achievementFrame['text_pos'] = (0, 0.2, -0.2) currentAchievement = AchievementsGlobals.AchievementImages[achievement] image = loader.loadModel(currentAchievement[0]) imageNode = image.find(currentAchievement[1]) imageNode.setColor(currentAchievement[2]) img = OnscreenGeom(geom=imageNode, parent=achievementFrame, pos=(-0.3, 0, 0)) else: achievementFrame['text'] = '???'
def showText(self, name, role): if not self.text: self.text = DirectLabel(text=name, text_style=3, relief=None, text_fg=(1, 1, 1, 1), text_align=TextNode.ACenter, text_scale=.8, text_wordwrap=30, text_font=ToontownGlobals.getMinnieFont()) else: self.text['text'] = name self.text.setColorScale(VBase4(1, 1, 1, 0)) if not self.roleText: self.roleText = DirectLabel( text=role, text_style=3, relief=None, text_fg=(1, 1, 1, 1), text_align=TextNode.ACenter, text_scale=.8, text_wordwrap=30, text_font=ToontownGlobals.getMinnieFont()) else: self.roleText['text'] = role self.roleText.setColorScale(VBase4(1, 1, 1, 0)) self.text.reparentTo(self.screenObject) self.text.setPos( self.screenObject.find("**/front_screen").getPos() + Point3(0.0, -1.5, 0.4)) self.roleText.reparentTo(self.screenObject) self.roleText.setPos( self.screenObject.find("**/front_screen").getPos() + Point3(0.0, -1.5, -0.4)) self.text.show() self.roleText.show() Sequence( LerpColorScaleInterval(self.text, 1, VBase4(1, 1, 1, 1), blendType='easeInOut'), LerpColorScaleInterval(self.roleText, 1, VBase4(1, 1, 1, 1))).start()
def getTimer(self, parent): timeFont = ToontownGlobals.getMinnieFont() timer = {} timer['minute'] = DirectLabel(parent=parent, pos=TTLocalizer.DPtimerMinutePos, relief=None, text='59', text_align=TextNode.ACenter, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPtimerMinute) timer['colon'] = DirectLabel(parent=parent, pos=TTLocalizer.DPtimerColonPos, relief=None, text=':', text_align=TextNode.ACenter, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPtimerColon) timer['second'] = DirectLabel(parent=parent, relief=None, pos=TTLocalizer.DPtimerSecondPos, text='14', text_align=TextNode.ACenter, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPtimerSecond) timer['textLabel'] = DirectLabel(parent=parent, relief=None, pos=(0.0, 0.0, 1.15), text=TTLocalizer.PartyCountdownClockText, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPtimerTextLabel) return timer
def createGuiObjects(self): textScale = 0.075 timeFont = ToontownGlobals.getMinnieFont() self.hourLabel = DirectLabel(parent=self, pos=(-0.015, 0, 0), relief=None, text='', text_scale=textScale, text_align=TextNode.ARight, text_font=timeFont) self.colonLabel = DirectLabel(parent=self, relief=None, text=':', text_scale=textScale, text_align=TextNode.ACenter, text_font=timeFont) self.minutesLabel = DirectLabel(relief=None, parent=self, pos=(0.015, 0, 0), text='', text_scale=textScale, text_align=TextNode.ALeft, text_font=timeFont) self.amLabel = DirectLabel(relief=None, parent=self, pos=(0.14, 0, 0), text='', text_scale=textScale, text_align=TextNode.ALeft, text_font=timeFont) self.ival = Sequence(Func(self.colonLabel.show), Wait(0.75), Func(self.colonLabel.hide), Wait(0.25), Func(self.updateTime)) self.ival.loop()
def getFontByName(self, fontname): if fontname == "toon": return ToontownGlobals.getToonFont() elif fontname == "building": return ToontownGlobals.getBuildingNametagFont() elif fontname == "minnie": return ToontownGlobals.getMinnieFont() elif fontname == "suit": return ToontownGlobals.getSuitFont() else: return MagicWordManager.MagicWordManager.getFontByName(self, fontname)
def getFontByName(self, fontname): if fontname == 'toon': return ToontownGlobals.getToonFont() elif fontname == 'building': return ToontownGlobals.getBuildingNametagFont() elif fontname == 'minnie': return ToontownGlobals.getMinnieFont() elif fontname == 'suit': return ToontownGlobals.getSuitFont() else: return MagicWordManager.MagicWordManager.getFontByName(self, fontname)
def displayAchievement(self): currentAchievement = AchievementsGlobals.AchievementImages[self.currentShowingAward] image = loader.loadModel(currentAchievement[0]) imageNode = image.find(currentAchievement[1]) imageNode.setColor(currentAchievement[2]) imageNode.setScale(currentAchievement[3]) self.frame = OnscreenGeom(geom='phase_3/models/gui/dialog_box_gui', scale=(0.8, 1, 0.55), parent=base.a2dTopRight, pos=(0.45, 0, -0.275)) self.image = OnscreenGeom(geom=imageNode, parent=self.frame) self.title = OnscreenText(text='You earned an Achievement!', scale=(0.06, 0.11), font=ToontownGlobals.getMinnieFont(), parent=self.frame, pos=(0, 0.33), align=TextNode.ACenter) self.achievementName = OnscreenText(text=AchievementsGlobals.AchievementTitles[self.currentShowingAward], scale=(0.06, 0.09), font=ToontownGlobals.getMinnieFont(), parent=self.frame, align=TextNode.ACenter, pos=(0, 0.2)) self.details = OnscreenText(text=AchievementsGlobals.AchievementDesc[self.currentShowingAward], scale=(0.04, 0.07), font=ToontownGlobals.getMinnieFont(), parent=self.frame, align=TextNode.ACenter, pos=(0, -0.4))
def createGuiObjects(self): """Create all gui elements and tasks.""" # minutes label textScale = 0.075 # Minnnie font doesn't have numbers! #timeFont = ToontownGlobals.getToonFont() timeFont = ToontownGlobals.getMinnieFont() self.hourLabel = DirectLabel( parent = self, pos = (-0.015,0,0), relief = None, text = '', text_scale = textScale, text_align = TextNode.ARight, text_font = timeFont, ) self.colonLabel = DirectLabel( parent = self, relief = None, text = ':', text_scale = textScale, text_align = TextNode.ACenter, text_font = timeFont, ) self.minutesLabel = DirectLabel( relief = None, parent = self, pos = (0.015, 0, 0), text = '', text_scale = textScale, text_align = TextNode.ALeft, text_font = timeFont, ) self.amLabel = DirectLabel( relief = None, parent = self, pos = (0.14, 0, 0), text = '', text_scale = textScale, text_align = TextNode.ALeft, text_font = timeFont, ) self.ival = Sequence( Func(self.colonLabel.show), Wait(0.75), Func(self.colonLabel.hide), Wait(0.25), Func(self.updateTime) ) self.ival.loop()
def startScreen(*args): self.screenObject = args[0] self.screenObject.reparentTo(render) if ZoneUtil.getHoodId(zoneId) == ToontownGlobals.MinniesMelodyland: self.screenObject.reparentTo( self.cr.playGame.getPlace().loader.geom.find( '**/center_icon')) self.screenObject.setPos( self.zone2pos.get(ZoneUtil.getHoodId(zoneId), (0, 0, 6))) self.screenObject.setHpr(-90, 0, 0) self.counter = DirectLabel( parent=render, pos=(0, 0, 0), relief=None, text= '10 cogs destroyed = $0.01\nto Child\'s Play Charity\n(Max $15,000)\nCheck website for more details!', text_scale=1, text_fg=(1, 1, 1, 1), text_align=TextNode.ACenter, text_font=ToontownGlobals.getMinnieFont()) self.counter.reparentTo(self.screenObject) self.counter.setPos( self.screenObject.find("**/front_screen").getPos() + Point3(0.0, -1.5, 0.3)) self.counterback = DirectLabel( parent=render, pos=(0, 0, 0), relief=None, text= '10 cogs destroyed = $0.01\nto Child\'s Play Charity\n(Max $15,000)\nCheck website for more details!', text_scale=1, text_fg=(1, 1, 1, 1), text_align=TextNode.ACenter, text_font=ToontownGlobals.getMinnieFont()) self.counterback.reparentTo(self.screenObject) self.counterback.setPos( self.screenObject.find("**/back_screen").getPos() + Point3(0.0, 1.5, 0.3)) self.counterback.setHpr(180, 0, 0)
def __init__(self, version='n/a'): DirectObject.__init__(self) self.backgroundNodePath = render2d.attachNewNode('background', 0) self.backgroundModel = loader.loadModel( 'phase_3/models/gui/loading-background.bam') self.backgroundModel.reparentTo(self.backgroundNodePath) self.backgroundNodePath.find('**/fg').removeNode() self.backgroundNodePath.setScale(1, 1, 1) self.logo = OnscreenImage(parent=base.a2dTopCenter, image='phase_3/maps/toontown-logo.png', scale=(1.0, 1, 0.5), pos=(0, 0, -0.85)) self.logo.setTransparency(TransparencyAttrib.MAlpha) self.label = OnscreenText(TTLocalizer.ClickToStartLabel, parent=base.a2dBottomCenter, font=ToontownGlobals.getMinnieFont(), fg=Vec4(1, 1, 1, 1), scale=0.1, align=TextNode.ACenter) self.label.setZ(0.35) self.versionLabel = OnscreenText('\x01white_shadow\x01%s\x02' % version, parent=base.a2dBottomRight, font=ToontownGlobals.getMinnieFont(), fg=Vec4(0, 0, 0, 1), scale=0.06, align=TextNode.ARight) self.versionLabel.setPos(-0.025, 0.025) self.setColorScale(Vec4(0, 0, 0, 0)) self.fadeTrack = None self.logoPosTrack = None self.logoScaleTrack = None self.labelPosTrack = None self.labelColorScaleTrack = 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 displayAchievement(self): currentAchievement = AchievementsGlobals.AchievementImages[ self.currentShowingAward] image = loader.loadModel(currentAchievement[0]) imageNode = image.find(currentAchievement[1]) imageNode.setColor(currentAchievement[2]) imageNode.setScale(currentAchievement[3]) self.frame = OnscreenGeom(geom='phase_3/models/gui/dialog_box_gui', scale=(0.8, 1, 0.55), parent=base.a2dTopRight, pos=(0.45, 0, -0.275)) self.image = OnscreenGeom(geom=imageNode, parent=self.frame) self.title = OnscreenText(text='You earned an Achievement!', scale=(0.06, 0.11), font=ToontownGlobals.getMinnieFont(), parent=self.frame, pos=(0, 0.33), align=TextNode.ACenter) self.achievementName = OnscreenText( text=AchievementsGlobals.AchievementTitles[ self.currentShowingAward], scale=(0.06, 0.09), font=ToontownGlobals.getMinnieFont(), parent=self.frame, align=TextNode.ACenter, pos=(0, 0.2)) self.details = OnscreenText( text=AchievementsGlobals.AchievementDesc[self.currentShowingAward], scale=(0.04, 0.07), font=ToontownGlobals.getMinnieFont(), parent=self.frame, align=TextNode.ACenter, pos=(0, -0.4))
def __init__(self): self.popupGui = aspect2d.attachNewNode('popupGui') self.popupGui.reparentTo(aspect2d, 3000) gui = base.matGui shuffleUp = gui.find('**/tt_t_gui_mat_shuffleUp') shuffleDown = gui.find('**/tt_t_gui_mat_shuffleDown') self.dialogText = OnscreenText(text='put text here', font=ToontownGlobals.getMinnieFont(), style=3, align=TextNode.ACenter, scale=0.1, pos=(0, .2, 0), wordwrap=20) self.background = OnscreenImage( image='phase_3.5/maps/loading/toon.jpg', parent=aspect2d) self.background.setBin('background', 1) self.background.reparentTo(aspect2d) self.background.setScale(2, 1, 1) self.yesButton = DirectButton(relief=None, text_style=3, image=(shuffleUp, shuffleDown, shuffleUp), image_scale=(0.8, 0.7, 0.7), image1_scale=(0.83, 0.7, 0.7), image2_scale=(0.83, 0.7, 0.7), text_fg=(1, 1, 1, 1), text='Yes', text_pos=(0, -0.02), text_scale=.08, scale=0.95, command=self.doYesButton) self.yesButton.reparentTo(aspect2d) self.yesButton.setPos(0, 0, -.4) self.noButton = DirectButton(relief=None, text_style=3, image=(shuffleUp, shuffleDown, shuffleUp), image_scale=(0.8, 0.7, 0.7), image1_scale=(0.83, 0.7, 0.7), image2_scale=(0.83, 0.7, 0.7), text_fg=(1, 1, 1, 1), text='No', text_pos=(0, -0.02), text_scale=.08, scale=0.95, command=self.doNoButton) self.noButton.reparentTo(aspect2d) self.noButton.setPos(0, 0, -.6)
def loadCalendarTab(self): self.calendarDisplay = self.attachNewNode('calendar') self.toontownTimeLabel = DirectLabel( parent=self.calendarDisplay, pos=(0.175, 0, -0.69), text_align=TextNode.ARight, relief=None, text=TTLocalizer.EventsPageToontownTimeIs, text_scale=0.065, text_font=ToontownGlobals.getMinnieFont(), text_fg=(255 / 255.0, 146 / 255.0, 113 / 255.0, 1), textMayChange=0) self.calendarGuiMonth = None # To be set upon tab's first opening. pos = (0.35, 0, -0.69) self.toontownTimeGui = ServerTimeGui(self.calendarDisplay, pos) return
def load(self): ShtikerPage.ShtikerPage.load(self) self.avAchievements = localAvatar.achievements self.title = DirectLabel(parent=self, relief=None, text=TTLocalizer.AchievementsPageTitle, text_scale=0.12, textMayChange=1, pos=(0, 0, 0.62)) start_pos = LVecBase3(0.72, 1, -0.21) seperation = LVecBase3(0.45, 0, 0.4) cardModel = loader.loadModel('phase_3.5/models/gui/playingCard') incButton = (self.gui.find('**/FndsLst_ScrollUp'), self.gui.find('**/FndsLst_ScrollDN'), self.gui.find('**/FndsLst_ScrollUp_Rllvr'), self.gui.find('**/FndsLst_ScrollUp')) self.scrollFrame = DirectScrolledFrame(parent=self, frameSize=(0, 1.5, -1.2, 0), pos=(-0.75, 1, 0.52), canvasSize=(0, 1, -7, 0), frameColor=(0.85, 0.95, 1, 1)) for achievement in xrange(len(AchievementsGlobals.AchievementTitles)): achievementFrame = DirectFrame( parent=self.scrollFrame.getCanvas(), image=DGG.getDefaultDialogGeom(), scale=(1.3, 0, 0.32), relief=None, pos=(start_pos.x, 1, start_pos.z - seperation.z * achievement), text=AchievementsGlobals.AchievementTitles[achievement], text_scale=(0.05, 0.13), text_font=ToontownGlobals.getMinnieFont(), text_pos=(0, 0, 0)) self.achievements.append(achievementFrame) if achievement in self.avAchievements: achievementFrame[ 'text'] = AchievementsGlobals.AchievementTitles[ achievement] achievementFrame['text_pos'] = (0, 0.2, -0.2) else: achievementFrame['text'] = '???'
def updatePage(self): print 'updating achievements page' self.avAchievements = localAvatar.achievements for achievement in self.achievements: achievement.destroy() del self.achievements self.achievements = [] start_pos = LVecBase3(0.72, 1, -0.21) seperation = LVecBase3(0.45, 0, 0.4) for achievement in xrange(len(AchievementsGlobals.AchievementTitles)): achievementFrame = DirectFrame( parent=self.scrollFrame.getCanvas(), image=DGG.getDefaultDialogGeom(), scale=(1.3, 0, 0.32), relief=None, pos=(start_pos.x, 1, start_pos.z - seperation.z * achievement), text=AchievementsGlobals.AchievementTitles[achievement], text_scale=(0.05, 0.13), text_font=ToontownGlobals.getMinnieFont(), text_pos=(0, 0, 0)) self.achievements.append(achievementFrame) if achievement in self.avAchievements: achievementFrame[ 'text'] = AchievementsGlobals.AchievementTitles[ achievement] achievementFrame['text_pos'] = (0, 0.2, -0.2) currentAchievement = AchievementsGlobals.AchievementImages[ achievement] image = loader.loadModel(currentAchievement[0]) imageNode = image.find(currentAchievement[1]) imageNode.setColor(currentAchievement[2]) img = OnscreenGeom(geom=imageNode, parent=achievementFrame, pos=(-0.3, 0, 0)) else: achievementFrame['text'] = '???'
def getTimer(self, parent): timeFont = ToontownGlobals.getMinnieFont() timer = {} timer["minute"] = DirectLabel( parent=parent, pos=(-1.2, TTLocalizer.DPpartyCountdownClockMinutesPosY, 0.0), relief=None, text='59', text_align=TextNode.ACenter, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPpartyCountdownClockMinutesScale, ) timer["colon"] = DirectLabel( parent=parent, pos=(0, TTLocalizer.DPpartyCountdownClockColonPosY, 0.0), relief=None, text=':', text_align=TextNode.ACenter, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPpartyCountdownClockColonScale, ) timer["second"] = DirectLabel( parent=parent, relief=None, pos=(1.2, TTLocalizer.DPpartyCountdownClockSecondPosY, 0.0), text='14', text_align=TextNode.ACenter, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPpartyCountdownClockSecondScale, ) timer["textLabel"] = DirectLabel( parent=parent, relief=None, pos=(0.0, 0.0, 1.15), text=TTLocalizer.PartyCountdownClockText, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPpartyCountdownClockTextScale, ) return timer
def __init__(self): self.__expectedCount = 0 self.__count = 0 self.gui = loader.loadModel( 'phase_3/models/gui/progress-background.bam') self.title = DirectLabel(guiId='ToontownLoadingScreenTitle', parent=self.gui, relief=None, pos=(0, 0, 0.23), text='', textMayChange=1, text_scale=0.08, text_fg=(0.03, 0.83, 0, 1), text_align=TextNode.ACenter, text_font=ToontownGlobals.getSignFont()) self.tip = DirectLabel(guiId='ToontownLoadingScreenTip', parent=self.gui, relief=None, pos=(0, 0, .5), text='', textMayChange=1, text_scale=0.05, text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_wordwrap=40, text_align=TextNode.ACenter, text_font=ToontownGlobals.getMinnieFont()) self.waitBar = DirectWaitBar( guiId='ToontownLoadingScreenWaitBar', parent=self.gui, frameSize=(base.a2dLeft + (base.a2dRight / 4.95), base.a2dRight - (base.a2dRight / 4.95), -0.04, 0.04), pos=(0, 0, 0.15), text='') logoScale = 0.3625 # 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(scale[0], 0, -scale[2]) self.logo.setPos(0, 0, -scale[2] * 2)
def getTimer(self, parent): timeFont = ToontownGlobals.getMinnieFont() timer = {} timer["minute"] = DirectLabel( parent=parent, pos=TTLocalizer.DPtimerMinutePos, relief=None, text="59", text_align=TextNode.ACenter, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPtimerMinute, ) timer["colon"] = DirectLabel( parent=parent, pos=TTLocalizer.DPtimerColonPos, relief=None, text=":", text_align=TextNode.ACenter, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPtimerColon, ) timer["second"] = DirectLabel( parent=parent, relief=None, pos=TTLocalizer.DPtimerSecondPos, text="14", text_align=TextNode.ACenter, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPtimerSecond, ) timer["textLabel"] = DirectLabel( parent=parent, relief=None, pos=(0.0, 0.0, 1.15), text=TTLocalizer.PartyCountdownClockText, text_font=timeFont, text_fg=(0.7, 0.3, 0.3, 1.0), scale=TTLocalizer.DPtimerTextLabel, ) return timer
def __init__(self): DirectObject.__init__(self) base.setBackgroundColor(0, 0, 0) disclaimerText = "Project Altis is a not-for-profit fanmade parody made under Fair Use. Project Altis is not affiliated with The Walt Disney Company and/or the Disney Interactive Media Group (collectively referred to as \"Disney\") by clicking I agree you hereby agree that you acknowledge this fact." self.disclaimer = OnscreenText(text=disclaimerText, font=ToontownGlobals.getMinnieFont(), style=3, wordwrap=30, scale=.08, pos=(0, .3, 0)) gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui.bam') yesUp = gui.find('**/tt_t_gui_mat_okUp') yesDown = gui.find('**/tt_t_gui_mat_okDown') noUp = gui.find('**/tt_t_gui_mat_closeUp') noDown = gui.find('**/tt_t_gui_mat_closeDown') self.accept = DirectButton(parent=aspect2d, relief=None, image=(yesUp, yesDown, yesUp), 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=('', 'I Agree', 'I Agree'), text_pos=(0, -0.175), text_style=3, text_scale=0.08, pos=(.4, 0, -.5), command=self.accept) self.deny = DirectButton(parent=aspect2d, relief=None, image=(noUp, noDown, noUp), 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=('', 'I Disagree', 'I Disagree'), text_pos=(0, -0.175), text_style=3, text_scale=0.08, pos=(-.4, 0, -.5), command=self.deny)
def __init__(self): self.loadingGui = aspect2d.attachNewNode('loadingUI') self.loadingGui.reparentTo(aspect2d, 2000) self.loadingText = OnscreenText(parent=aspect2d, text='Connecting...', font=ToontownGlobals.getMinnieFont(), style=3, align=TextNode.ACenter, scale=0.1, pos=(0, -0.8)) self.loadingCircle = OnscreenImage( image='phase_3/maps/dmenu/loading_circle.png') self.loadingCircle.setScale(0.1) self.loadingCircle.setTransparency(TransparencyAttrib.MAlpha) self.logo = OnscreenImage(parent=base.a2dTopCenter, image='phase_3/maps/toontown-logo.png', scale=(1.0, 1, 0.5), pos=(0, 0, -0.85)) self.logo.setTransparency(TransparencyAttrib.MAlpha) self.background = OnscreenImage( image='phase_3.5/maps/loading/toon.jpg', parent=aspect2d) self.background.setScale(2, 1, 1)
def load(self): self.sceneRoot = NodePath('Shockley') base.setBackgroundColor(0, 0, 0, 1) self.title = OnscreenText(text='Sir Kippy', pos=(0.6, 0.15, 0.0), scale=0.15, fg=(1, 1, 1, 1), font=ToontownGlobals.getSignFont(), align=TextNode.ACenter) self.description = OnscreenText(text='Project Manager', pos=(0.25, ), scale=0.06, fg=(1, 1, 1, 1), font=ToontownGlobals.getMinnieFont(), align=TextNode.ALeft) self.image = OnscreenImage(image='phase_4/maps/news/sir_kippy.jpg', pos=(-0.5, 0.0, 0.0), scale=(0.5, 0.30, 0.30)) for node in self.elements: node.setTransparency(1) if self.preload: node.setColorScale(1, 1, 1, 0)
def __init__(self, parent=aspect2d, **kw): bookModel = loader.loadModel('phase_3.5/models/gui/stickerbook_gui') questCard = bookModel.find('**/questCard') optiondefs = (('relief', None, None), ('image', questCard, None), ('image_scale', (0.8, 1.0, 0.58), None), ('state', DGG.NORMAL, None)) self.defineoptions(kw, optiondefs) DirectFrame.__init__(self, relief=None) self.initialiseoptions(QuestPoster) self._deleteCallback = None self.questFrame = DirectFrame(parent=self, relief=None) self.headline = DirectLabel(parent=self.questFrame, relief=None, text='', text_font=ToontownGlobals.getMinnieFont(), text_fg=self.normalTextColor, text_scale=0.05, text_align=TextNode.ACenter, text_wordwrap=12.0, textMayChange=1, pos=(0, 0, 0.23)) self.questInfo = DirectLabel(parent=self.questFrame, relief=None, text='', text_fg=self.normalTextColor, text_scale=TEXT_SCALE, text_align=TextNode.ACenter, text_wordwrap=TEXT_WORDWRAP, textMayChange=1, pos=(0, 0, -0.0625)) self.rewardText = DirectLabel(parent=self.questFrame, relief=None, text='', text_fg=self.colors['rewardRed'], text_scale=0.0425, text_align=TextNode.ALeft, text_wordwrap=17.0, textMayChange=1, pos=(-0.36, 0, -0.26)) self.rewardText.hide() self.lPictureFrame = DirectFrame( parent=self.questFrame, relief=None, image=bookModel.find('**/questPictureFrame'), image_scale=IMAGE_SCALE_SMALL, text='', text_pos=(0, -0.11), text_fg=self.normalTextColor, text_scale=TEXT_SCALE, text_align=TextNode.ACenter, text_wordwrap=11.0, textMayChange=1) self.lPictureFrame.hide() self.rPictureFrame = DirectFrame( parent=self.questFrame, relief=None, image=bookModel.find('**/questPictureFrame'), image_scale=IMAGE_SCALE_SMALL, text='', text_pos=(0, -0.11), text_fg=self.normalTextColor, text_scale=TEXT_SCALE, text_align=TextNode.ACenter, text_wordwrap=11.0, textMayChange=1, pos=(0.18, 0, 0.13)) self.rPictureFrame.hide() self.lQuestIcon = DirectFrame(parent=self.lPictureFrame, relief=None, text=' ', text_font=ToontownGlobals.getSuitFont(), text_pos=(0, -0.03), text_fg=self.normalTextColor, text_scale=0.13, text_align=TextNode.ACenter, text_wordwrap=13.0, textMayChange=1) self.lQuestIcon.setColorOff(-1) self.rQuestIcon = DirectFrame(parent=self.rPictureFrame, relief=None, text=' ', text_font=ToontownGlobals.getSuitFont(), text_pos=(0, -0.03), text_fg=self.normalTextColor, text_scale=0.13, text_align=TextNode.ACenter, text_wordwrap=13.0, textMayChange=1) self.rQuestIcon.setColorOff(-1) self.auxText = DirectLabel(parent=self.questFrame, relief=None, text='', text_scale=TTLocalizer.QPauxText, text_fg=self.normalTextColor, text_align=TextNode.ACenter, textMayChange=1) self.auxText.hide() self.questProgress = DirectWaitBar(parent=self.questFrame, relief=DGG.SUNKEN, frameSize=(-0.95, 0.95, -0.1, 0.12), borderWidth=(0.025, 0.025), scale=0.2, frameColor=(0.945, 0.875, 0.706, 1.0), barColor=(0.5, 0.7, 0.5, 1), text='0/0', text_scale=0.19, text_fg=(0.05, 0.14, 0.4, 1), text_align=TextNode.ACenter, text_pos=(0, -0.04), pos=(0, 0, -0.195)) self.questProgress.hide() self.funQuest = DirectLabel(parent=self.questFrame, relief=None, text=TTLocalizer.QuestPosterFun, text_fg=(0.0, 0.439, 1.0, 1.0), text_shadow=(0, 0, 0, 1), pos=(-0.2825, 0, 0.2), scale=0.03) self.funQuest.setR(-30) self.funQuest.hide() bookModel.removeNode() self.laffMeter = None return
def createGuiObjects(self): self.monthLabel = DirectLabel( parent=self.monthLocator, relief=None, text=TTLocalizer.Months[self.startDate.month], text_scale=0.075, text_font=ToontownGlobals.getMinnieFont(), text_fg=(40 / 255.0, 140 / 255.0, 246 / 255.0, 1.0), ) self.yearLabel = DirectLabel( parent=self.yearLocator, relief=None, text=str(self.startDate.year), text_scale=0.03, text_font=ToontownGlobals.getMinnieFont(), text_fg=(140 / 255.0, 140 / 255.0, 246 / 255.0, 1.0), ) self.weekdayLabels = [] for posIndex in xrange(7): adjustedNameIndex = (posIndex - 1) % 7 self.weekdayLabels.append( DirectLabel( parent=self.weekDayLocators[posIndex], relief=None, text=TTLocalizer.DayNamesAbbrev[adjustedNameIndex], text_font=ToontownGlobals.getInterfaceFont(), text_fg=(255 / 255.0, 146 / 255.0, 113 / 255.0, 1.0), text_scale=0.05, ) ) self.createGuiDays() arrowUp = self.find("**/month_arrowR_up") arrowDown = self.find("**/month_arrowR_down") arrowHover = self.find("**/month_arrowR_hover") self.monthLeftArrow = DirectButton( parent=self.monthLeftLocator, relief=None, image=(arrowUp, arrowDown, arrowHover, arrowUp), image3_color=(1, 1, 1, 0.5), scale=(-1.0, 1.0, 1.0), command=self.__doMonthLeft, ) if self.onlyFutureMonthsClickable: self.monthLeftArrow.hide() self.monthRightArrow = DirectButton( parent=self.monthRightLocator, relief=None, image=(arrowUp, arrowDown, arrowHover, arrowUp), image3_color=(1, 1, 1, 0.5), command=self.__doMonthRight, ) def makeLabel(itemName, itemNum, *extraArgs): return DirectLabel(text=itemName, frameColor=(0, 0, 0, 0), text_scale=0.04) gui = loader.loadModel("phase_4/models/parties/tt_m_gui_sbk_calendar_box") arrowUp = gui.find("**/downScroll_up") arrowDown = gui.find("**/downScroll_down") arrowHover = gui.find("**/downScroll_hover") filterLocatorUpPos = self.filterLocatorArrowUp.getPos(self.filterLocator) filterLocatorDownPos = self.filterLocatorArrowDown.getPos(self.filterLocator) self.filterList = DirectScrolledList( parent=self.filterLocator, relief=None, pos=(0, 0, 0), image=None, text_scale=0.025, incButton_image=(arrowUp, arrowDown, arrowHover, arrowUp), incButton_relief=None, incButton_pos=filterLocatorDownPos, incButton_image3_color=(1, 1, 1, 0.2), incButtonCallback=self.filterChanged, decButton_image=(arrowUp, arrowDown, arrowHover, arrowUp), decButton_relief=None, decButton_pos=filterLocatorUpPos, decButton_scale=(1, 1, -1), decButton_image3_color=(1, 1, 1, 0.2), decButtonCallback=self.filterChanged, numItemsVisible=1, itemMakeFunction=makeLabel, items=[ TTLocalizer.CalendarShowAll, TTLocalizer.CalendarShowOnlyHolidays, TTLocalizer.CalendarShowOnlyParties, ], itemFrame_frameSize=(-0.2, 0.2, -0.02, 0.05), itemFrame_frameColor=(0, 0, 0, 0), ) gui.removeNode()
def load(self): self.sceneRoot = NodePath(self.toonName.replace(' ', '').replace('','')) base.setBackgroundColor(0, 0, 0, 1) if self.twoSlides: if self.side == 'left': # Left Top titlePos = (0.1, 0.5, 0.0) descriptionPos = (0.2, 0.4, 0.0) imagePos = (-0.55, 0.0, 0.4) textAlignment = TextNode.ALeft # Right Bottom title2Pos = (-0.1, -0.35, 0.0) description2Pos = (-0.1, -0.45, 0.0) image2Pos = (0.55, 0.0, -0.4) text2Alignment = TextNode.ARight else: # Right Top titlePos = (-0.1, 0.5, 0.0) descriptionPos = (-0.1, 0.4, 0.0) imagePos = (0.55, 0.0, 0.4) textAlignment = TextNode.ARight # Left Bottom title2Pos = (0.1, -0.35, 0.0) description2Pos = (0.25, -0.45, 0.0) image2Pos = (-0.55, 0.0, -0.4) text2Alignment = TextNode.ALeft elif self.side == 'left': # Left Middle titlePos = (0.1, 0.15, 0.0) descriptionPos = (0.2, 0.05, 0.0) imagePos = (-0.5, 0.0, 0.0) textAlignment = TextNode.ALeft else: # Right Middle titlePos = (-0.1, 0.1, 0.0) descriptionPos = (-0.11, 0.0, 0.0) imagePos = (0.5, 0.0, 0.0) textAlignment = TextNode.ARight self.title = OnscreenText(text=self.toonName, pos=titlePos, scale=(0.15), fg=(1, 1, 1, 1), font=ToontownGlobals.getSignFont(), align=textAlignment) self.description = OnscreenText(text=self.toonDescription, pos=descriptionPos, scale=(0.06), fg=(1, 1, 1, 1), font=ToontownGlobals.getMinnieFont(), align=textAlignment) self.image = OnscreenImage(image='phase_4/maps/news/%s' % self.toonImage, pos=imagePos, scale=(0.5, 0.30, 0.30)) self.elements = [self.title, self.description, self.image] if self.twoSlides: self.title2 = OnscreenText(text=self.toon2Name, pos=title2Pos, scale=(0.15), fg=(1, 1, 1, 1), font=ToontownGlobals.getSignFont(), align=text2Alignment) self.description2 = OnscreenText(text=self.toon2Description, pos=description2Pos, scale=(0.06), fg=(1, 1, 1, 1), font=ToontownGlobals.getMinnieFont(), align=text2Alignment) self.image2 = OnscreenImage(image='phase_4/maps/news/%s' % self.toon2Image, pos=image2Pos, scale=(0.5, 0.30, 0.30)) self.elements.extend([self.title2, self.description2, self.image2]) for node in self.elements: node.setTransparency(1) node.setColorScale(1, 1, 1, 0)
def load(self): self.sceneRoot = NodePath('Shockley') base.setBackgroundColor(0, 0, 0, 1) self.title = OnscreenText(text='Shockley ', pos=(0.6, 0.15, 0.0), scale=(0.15), fg=(1, 1, 1, 1), font=ToontownGlobals.getSignFont(), align=TextNode.ACenter) self.description = OnscreenText(text='Lead Developer\nNetwork Technician\nGame Systems Engineer', pos=(0.25, 0.05, 0.0), scale=(0.06), fg=(1, 1, 1, 1), font=ToontownGlobals.getMinnieFont(), align=TextNode.ALeft) self.image = OnscreenImage(image='phase_4/maps/news/11-17-13_garden.jpg', pos=(-0.5, 0.0, 0.0), scale=(0.5, 0.30, 0.30)) self.elements = [self.title, self.description, self.image] for node in self.elements: node.setTransparency(1) if self.preload: node.setColorScale(1, 1, 1, 0)
def load(self, isPaid=1): self.patNode = render.attachNewNode('patNode') self.pat2dNode = aspect2d.attachNewNode('pat2dNode') self.background = loader.loadModel('phase_3/models/newpat/terrain.bam') self.background.reparentTo(self.patNode) self.sky = loader.loadModel('phase_3.5/models/props/TT_sky') self.infoText = OnscreenText(font=ToontownGlobals.getSignFont(), text=TTLocalizer.AvatarChooserPickAToon, scale=TTLocalizer.ACtitle, fg=COLORS[self.currentSlot], pos=(0, .855), parent=self.pat2dNode) arrow = loader.loadModel("phase_3/models/props/arrow.bam") self.arrowRight = DirectButton(geom=arrow, relief=None, command=self.__right) self.arrowRight.reparentTo(self.pat2dNode) self.arrowRight.setPos(.6, 0, -.2) self.arrowRight.setScale(.255) self.arrowRight.setColor(1, 1, 0, 1) self.arrowLeft = DirectButton(geom=arrow, relief=None, command=self.__left) self.arrowLeft.reparentTo(self.pat2dNode) self.arrowLeft.setPos(-.6, 0, -.2) self.arrowLeft.setR(180) self.arrowLeft.setScale(.255) self.arrowLeft.setColor(1, 0, 0, 1) self.origin = self.patNode.attachNewNode('toon-origin') self.origin.reparentTo(self.patNode) self.origin.setPos(-50,-11,3.5) self.origin.setHpr(180, 0, 0) self.origin.setScale(1.5) self.matText = OnscreenText(pos=(0, -.155), text=TTLocalizer.AvatarChoiceMakeAToon, font=ToontownGlobals.getMinnieFont(), fg=(1, 1, 0, 1), parent=self.pat2dNode, scale=.135, shadow=(0,0,0,1)) bdes = loader.loadModel('phase_3/models/gui/quit_button.bam') self.play = DirectButton(relief=None, geom=(bdes.find("**/QuitBtn_UP"), bdes.find("**/QuitBtn_DN"), bdes.find("**/QuitBtn_RLVR"),bdes.find("**/QuitBtn_UP")), text=PLAY, text_scale=.050, text_pos=(0, -0.013), scale=1.3, pos=(.8, 0, -.6), command=self.startGame, parent=self.pat2dNode) self.name = OnscreenText(pos=(0, -.5), scale=.1, fg=COLORS[self.currentSlot], parent=self.pat2dNode, shadow=(0,0,0,1), font=ToontownGlobals.getToonFont()) self.area = OnscreenText(parent=self.pat2dNode, font=ToontownGlobals.getToonFont(), pos=(-.7, -.855), scale=.075, text="", shadow=(0,0,0,1), fg=COLORS[self.currentSlot]) trashcanGui = loader.loadModel('phase_3/models/gui/trashcan_gui.bam') self.deleteButton = DirectButton(parent=self.pat2dNode, geom=(trashcanGui.find('**/TrashCan_CLSD'), trashcanGui.find('**/TrashCan_OPEN'), trashcanGui.find('**/TrashCan_RLVR')), text=('',TTLocalizer.AvatarChoiceDelete,TTLocalizer.AvatarChoiceDelete,''), text_scale=.150, text_pos=(0,-0.3), relief=None, scale=0.45, command=self.__handleDelete, pos=(1, 0, -.735)) self.toon = Toon.Toon() self.toon.reparentTo(self.origin) self.toon.setDNAString(ToonDNA.ToonDNA().makeNetString()) # initialize with garbage self.toon.hide() self.statusText = OnscreenText(pos=(0, -.8), text="", font=ToontownGlobals.getToonFont(), fg=(0, 0, 0, 1), parent=self.pat2dNode, scale=.075) self.nameYourToonButton = DirectButton(relief=None, geom=(bdes.find("**/QuitBtn_UP"), bdes.find("**/QuitBtn_DN"), bdes.find("**/QuitBtn_RLVR"),bdes.find("**/QuitBtn_UP")), text=TTLocalizer.AvatarChoiceNameYourToon.upper().replace('\n', ' '), text_scale=.045, text_pos=(0, -0.013), scale=1.3, pos=(.8, 0, -.47), command=self.__nameIt, parent=self.pat2dNode)
def __init__(self, parent=aspect2dp, rotateCard=False, **kw): optiondefs = (("NPCID", "Uninitialized", None), ("relief", None, None), ("doneEvent", None, None)) self.defineoptions(kw, optiondefs) DirectFrame.__init__(self, parent=parent) self.initialiseoptions(NPCFriendCard) cardModel = loader.loadModel("phase_3.5/models/gui/playingCard") self.front = DirectFrame(parent=self, relief=None, image=cardModel.find("**/card_front")) self.front.hide() self.back = DirectFrame( parent=self, relief=None, image=cardModel.find("**/card_back"), geom=cardModel.find("**/logo") ) callButtonPosZ = -0.90000000000000002 textWordWrap = 16.0 textScale = 0.34999999999999998 textPosZ = 1.1499999999999999 nameScale = 0.40000000000000002 namePosZ = -0.45000000000000001 rarityScale = 0.20000000000000001 rarityPosZ = -1.2 self.NPCHeadDim = 1.2 self.NPCHeadPosZ = 0.45000000000000001 self.sosCountInfoPosZ = -0.90000000000000002 self.sosCountInfoScale = 0.40000000000000002 self.sosCountInfo2PosZ = -0.90000000000000002 self.sosCountInfo2Scale = 0.5 if rotateCard: self.front.component("image0").configure(pos=(0, 0, 0.22), hpr=(0, 0, -90), scale=1.3500000000000001) self.back.component("image0").configure( hpr=(0, 0, -90), scale=(-1.3500000000000001, 1.3500000000000001, 1.3500000000000001) ) callButtonPosZ = -2.1000000000000001 textWordWrap = 7.0 textScale = 0.5 textPosZ = 2.0 nameScale = 0.5 namePosZ = -0.89000000000000001 rarityScale = 0.25 rarityPosZ = -2.3999999999999999 self.NPCHeadDim = 1.8 self.NPCHeadPosZ = 0.40000000000000002 self.sosCountInfoPosZ = -2.1000000000000001 self.sosCountInfoScale = 0.40000000000000002 self.sosCountInfo2PosZ = -2.0 self.sosCountInfo2Scale = 0.55000000000000004 self.sosTypeInfo = DirectLabel( parent=self.front, relief=None, text="", text_font=ToontownGlobals.getMinnieFont(), text_fg=self.normalTextColor, text_scale=textScale, text_align=TextNode.ACenter, text_wordwrap=textWordWrap, pos=(0, 0, textPosZ), ) self.NPCHead = None self.NPCName = DirectLabel( parent=self.front, relief=None, text="", text_fg=self.normalTextColor, text_scale=nameScale, text_align=TextNode.ACenter, text_wordwrap=8.0, pos=(0, 0, namePosZ), ) buttonModels = loader.loadModel("phase_3.5/models/gui/inventory_gui") upButton = buttonModels.find("**/InventoryButtonUp") downButton = buttonModels.find("**/InventoryButtonDown") rolloverButton = buttonModels.find("**/InventoryButtonRollover") self.sosCallButton = DirectButton( parent=self.front, relief=None, text=TTLocalizer.NPCCallButtonLabel, text_fg=self.normalTextColor, text_scale=0.28000000000000003, text_align=TextNode.ACenter, image=(upButton, downButton, rolloverButton, upButton), image_color=(1.0, 0.20000000000000001, 0.20000000000000001, 1), image0_color=Vec4(1.0, 0.40000000000000002, 0.40000000000000002, 1), image3_color=Vec4(1.0, 0.40000000000000002, 0.40000000000000002, 0.40000000000000002), image_scale=(4.4000000000000004, 1, 3.6000000000000001), image_pos=Vec3(0, 0, 0.080000000000000002), pos=(-1.1499999999999999, 0, callButtonPosZ), scale=1.25, command=self._NPCFriendCard__chooseNPCFriend, ) self.sosCallButton.hide() self.sosCountInfo = DirectLabel( parent=self.front, relief=None, text="", text_fg=self.normalTextColor, text_scale=0.75, text_align=TextNode.ALeft, textMayChange=1, pos=(0.0, 0, -1.0), ) star = loader.loadModel("phase_3.5/models/gui/name_star") self.rarityStars = [] for i in range(self.maxRarity): label = DirectLabel( parent=self.front, relief=None, image=star, image_scale=rarityScale, image_color=Vec4(0.502, 0.251, 0.251, 1.0), pos=(1.1000000000000001 - i * 0.23999999999999999, 0, rarityPosZ), ) label.hide() self.rarityStars.append(label)
def __init__(self, parent=aspect2dp, **kw): # Define options optiondefs = ( ('NPCID', 'Uninitialized', None), ('relief', None, None), ('doneEvent', None, None), ) # Merge keyword options with default options self.defineoptions(kw, optiondefs) # Initialize superclass DirectFrame.__init__(self, parent=parent) # Initialize instance self.initialiseoptions(NPCFriendCard) # Front side of the card cardModel = loader.loadModel('phase_3.5/models/gui/playingCard') self.front = DirectFrame( parent=self, relief=None, image=cardModel.find('**/card_front'), ) self.front.hide() # Back side of the card self.back = DirectFrame(parent=self, relief=None, image=cardModel.find('**/card_back'), geom=cardModel.find('**/logo')) # Detail information about the quest self.sosTypeInfo = DirectLabel( parent=self.front, relief=None, text='', text_font=ToontownGlobals.getMinnieFont(), text_fg=self.normalTextColor, text_scale=0.35, text_align=TextNode.ACenter, text_wordwrap=7.0, pos=(0, 0, 1.6), ) # Toon head self.NPCHead = None # NPC Name self.NPCName = DirectLabel(parent=self.front, relief=None, text='', text_fg=self.normalTextColor, text_scale=0.34, text_align=TextNode.ACenter, text_wordwrap=8.0, pos=(0, 0, -0.78)) # Call button (only show during battle buttonModels = loader.loadModel("phase_3.5/models/gui/inventory_gui") upButton = buttonModels.find("**/InventoryButtonUp") downButton = buttonModels.find("**/InventoryButtonDown") rolloverButton = buttonModels.find("**/InventoryButtonRollover") self.sosCallButton = DirectButton( parent=self.front, relief=None, text=TTLocalizer.NPCCallButtonLabel, text_fg=self.normalTextColor, text_scale=0.28, text_align=TextNode.ACenter, image=( upButton, downButton, rolloverButton, upButton, ), image_color=(1.0, 0.2, 0.2, 1), # Make the rollover button pop out image0_color=Vec4(1.0, 0.4, 0.4, 1), # Make the disabled button fade out image3_color=Vec4(1.0, 0.4, 0.4, 0.4), image_scale=(4.4, 1, 3.6), image_pos=Vec3(0, 0, 0.08), pos=(-0.96, 0, -1.6), scale=1.25, command=self.__chooseNPCFriend, ) self.sosCallButton.hide() # Info on how many more times one can use this card self.sosCountInfo = DirectLabel(parent=self.front, relief=None, text='', text_fg=self.normalTextColor, text_scale=0.4, text_align=TextNode.ALeft, textMayChange=1, pos=(0.0, 0, -1.5)) star = loader.loadModel('phase_3.5/models/gui/name_star') self.rarityStars = [] for i in range(self.maxRarity): label = DirectLabel(parent=self.front, relief=None, image=star, image_scale=0.2, image_color=Vec4(0.502, 0.251, 0.251, 1.000), pos=(1.1 - i * 0.24, 0, -1.8)) label.hide() self.rarityStars.append(label)
def __init__(self, picnicFunction, menuType): self.picnicFunction = picnicFunction DirectFrame.__init__(self, pos=(0.0, 0.0, 0.85), image_color=ToontownGlobals.GlobalDialogColor, image_scale=(1.8, 0.9, 0.13), text='', text_scale=0.05) self.buttonModels = loader.loadModel( 'phase_3.5/models/gui/inventory_gui.bam') self.upButton = self.buttonModels.find('**//InventoryButtonUp') self.downButton = self.buttonModels.find('**/InventoryButtonDown') self.rolloverButton = self.buttonModels.find( '**/InventoryButtonRollover') if menuType == PicnicGameGlobals.TutorialMenu: self.title = DirectLabel(self, relief=None, text=TTLocalizer.PicnicTableMenuTutorial, text_pos=(0.0, -0.038), text_fg=(1, 1, 1, 1), text_scale=0.09, text_font=ToontownGlobals.getSignFont(), text_shadow=(0, 0, 0, 0.8), text_shadowOffset=(-0.1, -0.1)) elif menuType == PicnicGameGlobals.GameMenu: self.title = DirectLabel(self, relief=None, text=TTLocalizer.PicnicTableMenuSelect, text_pos=(0.0, -0.038), text_fg=(1, 1, 1, 1), text_scale=0.09, text_font=ToontownGlobals.getSignFont(), text_shadow=(0, 0, 0, 0.8), text_shadowOffset=(-0.1, -0.1)) self.selectionButtons = loader.loadModel( 'phase_6/models/golf/picnic_game_menu.bam') btn1 = self.selectionButtons.find('**/Btn1') btn2 = self.selectionButtons.find('**/Btn2') btn3 = self.selectionButtons.find('**/Btn3') self.ChineseCheckers = DirectButton( self, image=(btn1.find('**/checkersBtnUp'), btn1.find('**/checkersBtnDn'), btn1.find('**/checkersBtnHi'), btn1.find('**/checkersBtnUp')), scale=0.36, relief=0, pos=(0, 0, -0.7), command=self.chineseCheckersSelected) self.Checkers = DirectButton( self, image=(btn2.find('**/regular_checkersBtnUp'), btn2.find('**/regular_checkersBtnDn'), btn2.find('**/regular_checkersBtnHi'), btn2.find('**/regular_checkersBtnUp')), scale=0.36, relief=0, pos=(0.8, 0, -0.7), command=self.checkersSelected) self.FindFour = DirectButton(self, image=(btn3.find('**/findfourBtnUp'), btn3.find('**/findfourBtnDn'), btn3.find('**/findfourBtnHi'), btn3.find('**/findfourBtnUp')), scale=0.36, relief=0, pos=(-0.8, 0, -0.7), command=self.findFourSelected) if not base.config.GetBool('want-checkers', 0): self.Checkers['command'] = lambda: None self.Checkers.setColor(0.7, 0.7, 0.7, 0.7) if not base.config.GetBool('want-chinese-checkers', 0): self.ChineseCheckers['command'] = lambda: None self.ChineseCheckers.setColor(0.7, 0.7, 0.7, 0.7) if not base.config.GetBool('want-find-four', 0): self.FindFour['command'] = lambda: None self.FindFour.setColor(0.7, 0.7, 0.7, 0.7) self.chineseText = OnscreenText(text='Chinese Checkers', pos=(0, 0.56, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=7, shadow=(0, 0, 0, 0.8), shadowOffset=(-0.1, -0.1), mayChange=True) self.chineseText.setR(-8) self.checkersText = OnscreenText(text='Checkers', pos=(0.81, -.1, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=7, shadow=(0, 0, 0, 0.8), shadowOffset=(0.1, -0.1), mayChange=True) self.findFourText = OnscreenText(text='Find Four', pos=(-0.81, -.08, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=8, shadow=(0, 0, 0, 0.8), shadowOffset=(-0.1, -0.1), mayChange=True) self.exitButton = DirectButton( relief=None, text=TTLocalizer.PicnicTableCancelButton, text_fg=(1, 1, 0.65, 1), text_pos=(0, -0.23), text_scale=0.8, image=(self.upButton, self.downButton, self.rolloverButton), image_color=(1, 0, 0, 1), image_scale=(20, 1, 11), pos=(0, 0, -0.4), scale=0.15, command=lambda self=self: self.cancelButtonPushed()) self.findFourText.setR(-8) self.checkersText.setR(8)
def __init__(self, parent = aspect2dp, **kw): optiondefs = (('NPCID', 'Uninitialized', None), ('relief', None, None), ('doneEvent', None, None)) self.defineoptions(kw, optiondefs) DirectFrame.__init__(self, parent=parent) self.initialiseoptions(NPCFriendCard) cardModel = loader.loadModel('phase_3.5/models/gui/playingCard') self.front = DirectFrame(parent=self, relief=None, image=cardModel.find('**/card_front')) self.front.hide() self.back = DirectFrame(parent=self, relief=None, image=cardModel.find('**/card_back')) self.sosTypeInfo = DirectLabel(parent=self.front, relief=None, text='', text_font=ToontownGlobals.getMinnieFont(), text_fg=self.normalTextColor, text_scale=0.35, text_align=TextNode.ACenter, text_wordwrap=16.0, pos=(0, 0, 1.15)) self.NPCHead = None self.NPCName = DirectLabel(parent=self.front, relief=None, text='', text_fg=self.normalTextColor, text_scale=0.4, text_align=TextNode.ACenter, text_wordwrap=8.0, pos=(0, 0, -0.45)) buttonModels = loader.loadModel('phase_3.5/models/gui/inventory_gui') upButton = buttonModels.find('**/InventoryButtonUp') downButton = buttonModels.find('**/InventoryButtonDown') rolloverButton = buttonModels.find('**/InventoryButtonRollover') self.sosCallButton = DirectButton(parent=self.front, relief=None, text=TTLocalizer.NPCCallButtonLabel, text_fg=self.normalTextColor, text_scale=0.28, text_align=TextNode.ACenter, image=(upButton, downButton, rolloverButton, upButton), image_color=(1.0, 0.2, 0.2, 1), image0_color=Vec4(1.0, 0.4, 0.4, 1), image3_color=Vec4(1.0, 0.4, 0.4, 0.4), image_scale=(4.4, 1, 3.6), image_pos=Vec3(0, 0, 0.08), pos=(-1.15, 0, -0.9), scale=1.25, command=self.__chooseNPCFriend) self.sosCallButton.hide() trashcanGui = loader.loadModel('phase_3/models/gui/trashcan_gui') trashClosedButton = trashcanGui.find('**/TrashCan_CLSD') trashOpenedButton = trashcanGui.find('**/TrashCan_OPEN') trashRolloverButton = trashcanGui.find('**/TrashCan_RLVR') self.sosDeleteButton = DirectButton(parent=self.front, relief=None, text=('', TTLocalizer.NPCFriendPageDelete, TTLocalizer.NPCFriendPageDelete, ''), text_fg=self.normalTextColor, text_scale=0.28, text_align=TextNode.ACenter, image=(trashClosedButton, trashOpenedButton, trashRolloverButton), image_pos=(Vec3(0, 0, 0.08)), pos=(1.25, 0, 0.6), scale=2, command=self.__handleDeleteNPCFriend) self.sosCountInfo = DirectLabel(parent=self.front, relief=None, text='', text_fg=self.normalTextColor, text_scale=0.75, text_align=TextNode.ALeft, textMayChange=1, pos=(0.0, 0, -1.0)) star = loader.loadModel('phase_3.5/models/gui/name_star') self.rarityStars = [] for i in xrange(self.maxRarity): label = DirectLabel(parent=self.front, relief=None, image=star, image_scale=0.2, image_color=Vec4(0.502, 0.251, 0.251, 1.0), pos=(1.1 - i * 0.24, 0, -1.2)) label.hide() self.rarityStars.append(label) self.confirmationDialog = None
def loadCalendarTab(self): self.calendarDisplay = self.attachNewNode('calendar') self.toontownTimeLabel = DirectLabel(parent=self.calendarDisplay, pos=(0.175, 0, -0.69), text_align=TextNode.ARight, relief=None, text=TTLocalizer.EventsPageToontownTimeIs, text_scale=0.065, text_font=ToontownGlobals.getMinnieFont(), text_fg=(255 / 255.0, 146 / 255.0, 113 / 255.0, 1), textMayChange=0) self.calendarGuiMonth = None # To be set upon tab's first opening. pos = (0.35, 0, -0.69) self.toontownTimeGui = ServerTimeGui(self.calendarDisplay, pos) return
def __init__(self, parent=aspect2dp, rotateCard=False, **kw): optiondefs = (('NPCID', 'Uninitialized', None), ('relief', None, None), ('doneEvent', None, None)) self.defineoptions(kw, optiondefs) DirectFrame.__init__(self, parent=parent) self.initialiseoptions(NPCFriendCard) cardModel = loader.loadModel('phase_3.5/models/gui/playingCard') self.front = DirectFrame(parent=self, relief=None, image=cardModel.find('**/card_front')) self.front.hide() self.back = DirectFrame(parent=self, relief=None, image=cardModel.find('**/card_back')) callButtonPosZ = -0.9 textWordWrap = 16.0 textScale = 0.35 textPosZ = 1.15 nameScale = 0.4 namePosZ = -0.45 rarityScale = 0.2 rarityPosZ = -1.2 self.NPCHeadDim = 1.2 self.NPCHeadPosZ = 0.45 self.sosCountInfoPosZ = -0.9 self.sosCountInfoScale = 0.4 self.sosCountInfo2PosZ = -0.9 self.sosCountInfo2Scale = 0.5 if rotateCard: self.front.component('image0').configure(pos=(0, 0, 0.22), hpr=(0, 0, -90), scale=1.35) self.back.component('image0').configure(hpr=(0, 0, -90), scale=(-1.35, 1.35, 1.35)) callButtonPosZ = -2.1 textWordWrap = 7.0 textScale = 0.5 textPosZ = 2.0 nameScale = 0.5 namePosZ = -0.89 rarityScale = 0.25 rarityPosZ = -2.4 self.NPCHeadDim = 1.8 self.NPCHeadPosZ = 0.4 self.sosCountInfoPosZ = -2.1 self.sosCountInfoScale = 0.4 self.sosCountInfo2PosZ = -2.0 self.sosCountInfo2Scale = 0.55 trashcanGui = loader.loadModel('phase_3/models/gui/trashcan_gui') trashClosedButton = trashcanGui.find('**/TrashCan_CLSD') trashOpenedButton = trashcanGui.find('**/TrashCan_OPEN') trashRolloverButton = trashcanGui.find('**/TrashCan_RLVR') self.sosDeleteButton = DirectButton( parent=self.front, relief=None, text=('', TTLocalizer.NPCFriendPageDelete, TTLocalizer.NPCFriendPageDelete, ''), text_fg=self.normalTextColor, text_scale=0.28, text_align=TextNode.ACenter, image=(trashClosedButton, trashOpenedButton, trashRolloverButton), image_pos=(Vec3(0, 0, 0.08)), pos=(1.25, 0, 0.6), scale=2, command=self.__handleDeleteNPCFriend) self.sosTypeInfo = DirectLabel( parent=self.front, relief=None, text='', text_font=ToontownGlobals.getMinnieFont(), text_fg=self.normalTextColor, text_scale=textScale, text_align=TextNode.ACenter, text_wordwrap=textWordWrap, pos=(0, 0, textPosZ)) self.NPCHead = None self.NPCName = DirectLabel(parent=self.front, relief=None, text='', text_fg=self.normalTextColor, text_scale=nameScale, text_align=TextNode.ACenter, text_wordwrap=8.0, pos=(0, 0, namePosZ)) buttonModels = loader.loadModel('phase_3.5/models/gui/inventory_gui') upButton = buttonModels.find('**/InventoryButtonUp') downButton = buttonModels.find('**/InventoryButtonDown') rolloverButton = buttonModels.find('**/InventoryButtonRollover') self.sosCallButton = DirectButton( parent=self.front, relief=None, text=TTLocalizer.NPCCallButtonLabel, text_fg=self.normalTextColor, text_scale=0.28, text_align=TextNode.ACenter, image=(upButton, downButton, rolloverButton, upButton), image_color=(1.0, 0.2, 0.2, 1), image0_color=Vec4(1.0, 0.4, 0.4, 1), image3_color=Vec4(1.0, 0.4, 0.4, 0.4), image_scale=(4.4, 1, 3.6), image_pos=Vec3(0, 0, 0.08), pos=(-1.15, 0, callButtonPosZ), scale=1.25, command=self.__chooseNPCFriend) self.sosCallButton.hide() self.sosCountInfo = DirectLabel(parent=self.front, relief=None, text='', text_fg=self.normalTextColor, text_scale=0.75, text_align=TextNode.ALeft, textMayChange=1, pos=(0.0, 0, -1.0)) star = loader.loadModel('phase_3.5/models/gui/name_star') self.rarityStars = [] for i in range(self.maxRarity): label = DirectLabel(parent=self.front, relief=None, image=star, image_scale=rarityScale, image_color=Vec4(0.502, 0.251, 0.251, 1.0), pos=(1.1 - i * 0.24, 0, rarityPosZ)) label.hide() self.rarityStars.append(label) self.confirmationDialog = None return
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, picnicFunction, menuType): self.picnicFunction = picnicFunction DirectFrame.__init__( self, pos=(0.0, 0.0, 0.85), image_color=ToontownGlobals.GlobalDialogColor, image_scale=(1.8, 0.9, 0.13), text='', text_scale=0.05) self['image'] = DGG.getDefaultDialogGeom() if menuType == 1: self.title = DirectLabel( self, relief=None, text=TTLocalizer.PicnicTableMenuTutorial, text_pos=(0.0, -0.038), text_fg=(1, 0, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSignFont(), text_shadow=(1, 1, 1, 1)) elif menuType == 2: self.title = DirectLabel( self, relief=None, text=TTLocalizer.PicnicTableMenuSelect, text_pos=(0.0, -0.04), text_fg=(1, 0, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSignFont()) self.selectionButtons = loader.loadModel('phase_6/models/golf/picnic_game_menu.bam') btn1 = self.selectionButtons.find('**/Btn1') btn2 = self.selectionButtons.find('**/Btn2') btn3 = self.selectionButtons.find('**/Btn3') self.ChineseCheckers = DirectButton( self, image=(btn1.find('**/checkersBtnUp'), btn1.find('**/checkersBtnDn'), btn1.find('**/checkersBtnHi'), btn1.find('**/checkersBtnUp')), scale=0.36, relief=0, pos=(0, 0, -0.7), command=self.checkersSelected) self.Checkers = DirectButton( self, image=(btn2.find('**/regular_checkersBtnUp'), btn2.find('**/regular_checkersBtnDn'), btn2.find('**/regular_checkersBtnHi'), btn2.find('**/regular_checkersBtnUp')), scale=0.36, relief=0, pos=(0.8, 0, -0.7), command=self.regCheckersSelected) self.FindFour = DirectButton( self, image=(btn3.find('**/findfourBtnUp'), btn3.find('**/findfourBtnDn'), btn3.find('**/findfourBtnHi'), btn3.find('**/findfourBtnUp')), scale=0.36, relief=0, pos=(-0.8, 0, -0.7), command=self.findFourSelected) if not base.config.GetBool('want-chinese', 0): self.ChineseCheckers['command'] = self.doNothing self.ChineseCheckers.setColor(0.7, 0.7, 0.7, 0.7) if not base.config.GetBool('want-checkers', 0): self.Checkers['command'] = self.doNothing self.Checkers.setColor(0.7, 0.7, 0.7, 0.7) if not base.config.GetBool('want-findfour', 0): self.FindFour['command'] = self.doNothing self.FindFour.setColor(0.7, 0.7, 0.7, 0.7) self.chineseText = OnscreenText( text='Chinese Checkers', pos=(0, 0.56, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=7, shadow=(0, 0, 0, 0.8), shadowOffset=(-0.1, -0.1), mayChange=True) self.chineseText.setR(-8) self.checkersText = OnscreenText( text='Checkers', pos=(0.81, -.1, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=7, shadow=(0, 0, 0, 0.8), shadowOffset=(0.1, -0.1), mayChange=True) self.findFourText = OnscreenText( text='Find Four', pos=(-0.81, -.08, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=8, shadow=(0, 0, 0, 0.8), shadowOffset=(-0.1, -0.1), mayChange=True) self.findFourText.setR(-8) self.checkersText.setR(8) return
def __init__(self, picnicFunction, menuType): self.picnicFunction = picnicFunction DirectFrame.__init__( self, pos=(0.0, 0.0, 0.85), image_color=ToontownGlobals.GlobalDialogColor, image_scale=(1.8, 0.9, 0.13), text='', text_scale=0.05) self.buttonModels = loader.loadModel('phase_3.5/models/gui/inventory_gui.bam') self.upButton = self.buttonModels.find('**//InventoryButtonUp') self.downButton = self.buttonModels.find('**/InventoryButtonDown') self.rolloverButton = self.buttonModels.find('**/InventoryButtonRollover') self['image'] = DGG.getDefaultDialogGeom() if menuType == GameGlobals.TutorialMenu: self.title = DirectLabel( self, relief=None, text=TTLocalizer.PicnicTableMenuTutorial, text_pos=(0.0, -0.038), text_fg=(1, 0, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSignFont(), text_shadow=(1, 1, 1, 1)) else: self.title = DirectLabel( self, relief=None, text=TTLocalizer.PicnicTableMenuSelect, text_pos=(0.0, -0.04), text_fg=(1, 0, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSignFont(), text_shadow=(1, 1, 1, 1)) self.selectionButtons = loader.loadModel('phase_6/models/golf/picnic_game_menu.bam') btn1 = self.selectionButtons.find('**/Btn1') btn2 = self.selectionButtons.find('**/Btn2') btn3 = self.selectionButtons.find('**/Btn3') self.ChineseCheckers = DirectButton( self, image=(btn1.find('**/checkersBtnUp'), btn1.find('**/checkersBtnDn'), btn1.find('**/checkersBtnHi'), btn1.find('**/checkersBtnUp')), scale=0.36, relief=0, pos=(0, 0, -0.7), command=self.chineseCheckersSelected) self.Checkers = DirectButton( self, image=(btn2.find('**/regular_checkersBtnUp'), btn2.find('**/regular_checkersBtnDn'), btn2.find('**/regular_checkersBtnHi'), btn2.find('**/regular_checkersBtnUp')), scale=0.36, relief=0, pos=(0.8, 0, -0.7), command=self.checkersSelected) self.FindFour = DirectButton( self, image=(btn3.find('**/findfourBtnUp'), btn3.find('**/findfourBtnDn'), btn3.find('**/findfourBtnHi'), btn3.find('**/findfourBtnUp')), scale=0.36, relief=0, pos=(-0.8, 0, -0.7), command=self.findFourSelected) if not base.config.GetBool('want-checkers', 1): self.Checkers['command'] = self.doNothing() self.Checkers.setColor(0.7, 0.7, 0.7, 0.7) if not base.config.GetBool('want-chinese-checkers', 1): self.ChineseCheckers['command'] = self.doNothing() self.ChineseCheckers.setColor(0.7, 0.7, 0.7, 0.7) if not base.config.GetBool('want-find-four', 1): self.FindFour['command'] = self.doNothing() self.FindFour.setColor(0.7, 0.7, 0.7, 0.7) self.chineseText = OnscreenText( text='Chinese Checkers', pos=(0, 0.56, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=7, shadow=(0, 0, 0, 0.8), shadowOffset=(-0.1, -0.1), mayChange=True) self.chineseText.setR(-8) self.checkersText = OnscreenText( text='Checkers', pos=(0.81, -.1, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=7, shadow=(0, 0, 0, 0.8), shadowOffset=(0.1, -0.1), mayChange=True) self.findFourText = OnscreenText( text='Find Four', pos=(-0.81, -.08, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=8, shadow=(0, 0, 0, 0.8), shadowOffset=(-0.1, -0.1), mayChange=True) self.exitButton = DirectButton( relief=None, text=TTLocalizer.PicnicTableCancelButton, text_fg=(1, 1, 0.65, 1), text_pos=(0, -0.23), text_scale=0.8, image=(self.upButton, self.downButton, self.rolloverButton), image_color=(1, 0, 0, 1), image_scale=(20, 1, 11), pos=(0, 0, -0.4), scale=0.15, command=lambda self=self: self.cancelButtonPushed()) self.findFourText.setR(-8) self.checkersText.setR(8)
def createGuiObjects(self): self.monthLabel = DirectLabel( parent=self.monthLocator, relief=None, text=TTLocalizer.Months[self.startDate.month], text_scale=0.075, text_font=ToontownGlobals.getMinnieFont(), text_fg=(40 / 255.0, 140 / 255.0, 246 / 255.0, 1.0)) self.yearLabel = DirectLabel(parent=self.yearLocator, relief=None, text=str(self.startDate.year), text_scale=0.03, text_font=ToontownGlobals.getMinnieFont(), text_fg=(140 / 255.0, 140 / 255.0, 246 / 255.0, 1.0)) self.weekdayLabels = [] for posIndex in xrange(7): adjustedNameIndex = (posIndex - 1) % 7 self.weekdayLabels.append( DirectLabel(parent=self.weekDayLocators[posIndex], relief=None, text=TTLocalizer.DayNamesAbbrev[adjustedNameIndex], text_font=ToontownGlobals.getInterfaceFont(), text_fg=(255 / 255.0, 146 / 255.0, 113 / 255.0, 1.0), text_scale=0.05)) self.createGuiDays() arrowUp = self.find('**/month_arrowR_up') arrowDown = self.find('**/month_arrowR_down') arrowHover = self.find('**/month_arrowR_hover') self.monthLeftArrow = DirectButton(parent=self.monthLeftLocator, relief=None, image=(arrowUp, arrowDown, arrowHover, arrowUp), image3_color=Vec4(1, 1, 1, 0.5), scale=(-1.0, 1.0, 1.0), command=self.__doMonthLeft) if self.onlyFutureMonthsClickable: self.monthLeftArrow.hide() self.monthRightArrow = DirectButton(parent=self.monthRightLocator, relief=None, image=(arrowUp, arrowDown, arrowHover, arrowUp), image3_color=Vec4(1, 1, 1, 0.5), command=self.__doMonthRight) def makeLabel(itemName, itemNum, *extraArgs): return DirectLabel(text=itemName, frameColor=(0, 0, 0, 0), text_scale=0.04) gui = loader.loadModel( 'phase_4/models/parties/tt_m_gui_sbk_calendar_box') arrowUp = gui.find('**/downScroll_up') arrowDown = gui.find('**/downScroll_down') arrowHover = gui.find('**/downScroll_hover') filterLocatorUpPos = self.filterLocatorArrowUp.getPos( self.filterLocator) filterLocatorDownPos = self.filterLocatorArrowDown.getPos( self.filterLocator) self.filterList = DirectScrolledList( parent=self.filterLocator, relief=None, pos=(0, 0, 0), image=None, text_scale=0.025, incButton_image=(arrowUp, arrowDown, arrowHover, arrowUp), incButton_relief=None, incButton_pos=filterLocatorDownPos, incButton_image3_color=Vec4(1, 1, 1, 0.2), incButtonCallback=self.filterChanged, decButton_image=(arrowUp, arrowDown, arrowHover, arrowUp), decButton_relief=None, decButton_pos=filterLocatorUpPos, decButton_scale=(1, 1, -1), decButton_image3_color=Vec4(1, 1, 1, 0.2), decButtonCallback=self.filterChanged, numItemsVisible=1, itemMakeFunction=makeLabel, items=[ TTLocalizer.CalendarShowAll, TTLocalizer.CalendarShowOnlyHolidays, TTLocalizer.CalendarShowOnlyParties ], itemFrame_frameSize=(-0.2, 0.2, -0.02, 0.05), itemFrame_frameColor=(0, 0, 0, 0)) gui.removeNode() return
def __init__(self, parent = aspect2dp, rotateCard = False, **kw): optiondefs = (('NPCID', 'Uninitialized', None), ('relief', None, None), ('doneEvent', None, None)) self.defineoptions(kw, optiondefs) DirectFrame.__init__(self, parent=parent) self.initialiseoptions(NPCFriendCard) cardModel = loader.loadModel('phase_3.5/models/gui/playingCard') self.front = DirectFrame(parent=self, relief=None, image=cardModel.find('**/card_front')) self.front.hide() self.back = DirectFrame(parent=self, relief=None, image=cardModel.find('**/card_back'), geom=cardModel.find('**/logo')) callButtonPosZ = -0.9 textWordWrap = 16.0 textScale = 0.35 textPosZ = 1.15 nameScale = 0.4 namePosZ = -0.45 rarityScale = 0.2 rarityPosZ = -1.2 self.NPCHeadDim = 1.2 self.NPCHeadPosZ = 0.45 self.sosCountInfoPosZ = -0.9 self.sosCountInfoScale = 0.4 self.sosCountInfo2PosZ = -0.9 self.sosCountInfo2Scale = 0.5 if rotateCard: self.front.component('image0').configure(pos=(0, 0, 0.22), hpr=(0, 0, -90), scale=1.35) self.back.component('image0').configure(hpr=(0, 0, -90), scale=(-1.35, 1.35, 1.35)) callButtonPosZ = -2.1 textWordWrap = 7.0 textScale = 0.5 textPosZ = 2.0 nameScale = 0.5 namePosZ = -0.89 rarityScale = 0.25 rarityPosZ = -2.4 self.NPCHeadDim = 1.8 self.NPCHeadPosZ = 0.4 self.sosCountInfoPosZ = -2.1 self.sosCountInfoScale = 0.4 self.sosCountInfo2PosZ = -2.0 self.sosCountInfo2Scale = 0.55 self.sosTypeInfo = DirectLabel(parent=self.front, relief=None, text='', text_font=ToontownGlobals.getMinnieFont(), text_fg=self.normalTextColor, text_scale=textScale, text_align=TextNode.ACenter, text_wordwrap=textWordWrap, pos=(0, 0, textPosZ)) self.NPCHead = None self.NPCName = DirectLabel(parent=self.front, relief=None, text='', text_fg=self.normalTextColor, text_scale=nameScale, text_align=TextNode.ACenter, text_wordwrap=8.0, pos=(0, 0, namePosZ)) buttonModels = loader.loadModel('phase_3.5/models/gui/inventory_gui') upButton = buttonModels.find('**/InventoryButtonUp') downButton = buttonModels.find('**/InventoryButtonDown') rolloverButton = buttonModels.find('**/InventoryButtonRollover') self.sosCallButton = DirectButton(parent=self.front, relief=None, text=TTLocalizer.NPCCallButtonLabel, text_fg=self.normalTextColor, text_scale=0.28, text_align=TextNode.ACenter, image=(upButton, downButton, rolloverButton, upButton), image_color=(1.0, 0.2, 0.2, 1), image0_color=Vec4(1.0, 0.4, 0.4, 1), image3_color=Vec4(1.0, 0.4, 0.4, 0.4), image_scale=(4.4, 1, 3.6), image_pos=Vec3(0, 0, 0.08), pos=(-1.15, 0, callButtonPosZ), scale=1.25, command=self.__chooseNPCFriend) self.sosCallButton.hide() self.sosCountInfo = DirectLabel(parent=self.front, relief=None, text='', text_fg=self.normalTextColor, text_scale=0.75, text_align=TextNode.ALeft, textMayChange=1, pos=(0.0, 0, -1.0)) star = loader.loadModel('phase_3.5/models/gui/name_star') self.rarityStars = [] for i in xrange(self.maxRarity): label = DirectLabel(parent=self.front, relief=None, image=star, image_scale=rarityScale, image_color=Vec4(0.502, 0.251, 0.251, 1.0), pos=(1.1 - i * 0.24, 0, rarityPosZ)) label.hide() self.rarityStars.append(label) return
def __init__(self, parent = aspect2d, **kw): bookModel = loader.loadModel('phase_3.5/models/gui/stickerbook_gui') questCard = bookModel.find('**/questCard') optiondefs = (('relief', None, None), ('image', questCard, None), ('image_scale', (0.8, 1.0, 0.58), None), ('state', DGG.NORMAL, None)) self.defineoptions(kw, optiondefs) DirectFrame.__init__(self, relief=None) self.initialiseoptions(QuestPoster) self._deleteCallback = None self.questFrame = DirectFrame(parent=self, relief=None) self.headline = DirectLabel(parent=self.questFrame, relief=None, text='', text_font=ToontownGlobals.getMinnieFont(), text_fg=self.normalTextColor, text_scale=0.05, text_align=TextNode.ACenter, text_wordwrap=12.0, textMayChange=1, pos=(0, 0, 0.23)) self.questInfo = DirectLabel(parent=self.questFrame, relief=None, text='', text_fg=self.normalTextColor, text_scale=TEXT_SCALE, text_align=TextNode.ACenter, text_wordwrap=TEXT_WORDWRAP, textMayChange=1, pos=(0, 0, -0.0625)) self.rewardText = DirectLabel(parent=self.questFrame, relief=None, text='', text_fg=self.colors['rewardRed'], text_scale=0.0425, text_align=TextNode.ALeft, text_wordwrap=17.0, textMayChange=1, pos=(-0.36, 0, -0.26)) self.rewardText.hide() self.lPictureFrame = DirectFrame(parent=self.questFrame, relief=None, image=bookModel.find('**/questPictureFrame'), image_scale=IMAGE_SCALE_SMALL, text='', text_pos=(0, -0.11), text_fg=self.normalTextColor, text_scale=TEXT_SCALE, text_align=TextNode.ACenter, text_wordwrap=11.0, textMayChange=1) self.lPictureFrame.hide() self.rPictureFrame = DirectFrame(parent=self.questFrame, relief=None, image=bookModel.find('**/questPictureFrame'), image_scale=IMAGE_SCALE_SMALL, text='', text_pos=(0, -0.11), text_fg=self.normalTextColor, text_scale=TEXT_SCALE, text_align=TextNode.ACenter, text_wordwrap=11.0, textMayChange=1, pos=(0.18, 0, 0.13)) self.rPictureFrame.hide() self.lQuestIcon = DirectFrame(parent=self.lPictureFrame, relief=None, text=' ', text_font=ToontownGlobals.getSuitFont(), text_pos=(0, -0.03), text_fg=self.normalTextColor, text_scale=0.13, text_align=TextNode.ACenter, text_wordwrap=13.0, textMayChange=1) self.lQuestIcon.setColorOff(-1) self.rQuestIcon = DirectFrame(parent=self.rPictureFrame, relief=None, text=' ', text_font=ToontownGlobals.getSuitFont(), text_pos=(0, -0.03), text_fg=self.normalTextColor, text_scale=0.13, text_align=TextNode.ACenter, text_wordwrap=13.0, textMayChange=1) self.rQuestIcon.setColorOff(-1) self.auxText = DirectLabel(parent=self.questFrame, relief=None, text='', text_scale=TTLocalizer.QPauxText, text_fg=self.normalTextColor, text_align=TextNode.ACenter, textMayChange=1) self.auxText.hide() self.questProgress = DirectWaitBar(parent=self.questFrame, relief=DGG.SUNKEN, frameSize=(-0.95, 0.95, -0.1, 0.12), borderWidth=(0.025, 0.025), scale=0.2, frameColor=(0.945, 0.875, 0.706, 1.0), barColor=(0.5, 0.7, 0.5, 1), text='0/0', text_scale=0.19, text_fg=(0.05, 0.14, 0.4, 1), text_align=TextNode.ACenter, text_pos=(0, -0.04), pos=(0, 0, -0.195)) self.questProgress.hide() self.funQuest = DirectLabel(parent=self.questFrame, relief=None, text=TTLocalizer.QuestPosterFun, text_fg=(0.0, 0.439, 1.0, 1.0), text_shadow=(0, 0, 0, 1), pos=(0, 0, -0.125), scale=0.04) self.funQuest.hide() bookModel.removeNode() self.laffMeter = None return
def __init__(self, picnicFunction, menuType): self.picnicFunction = picnicFunction DirectFrame.__init__( self, pos=(0.0, 0.0, 0.85), image_color=ToontownGlobals.GlobalDialogColor, image_scale=(1.8, 0.9, 0.13), text='', text_scale=0.05) self['image'] = DGG.getDefaultDialogGeom() if menuType == 1: self.title = DirectLabel( self, relief=None, text=TTLocalizer.PicnicTableMenuTutorial, text_pos=(0.0, -0.038), text_fg=(1, 0, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSignFont(), text_shadow=(1, 1, 1, 1)) elif menuType == 2: self.title = DirectLabel( self, relief=None, text=TTLocalizer.PicnicTableMenuSelect, text_pos=(0.0, -0.04), text_fg=(1, 0, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSignFont()) self.selectionButtons = loader.loadModel('phase_6/models/golf/picnic_game_menu') btn1 = self.selectionButtons.find('**/Btn1') btn2 = self.selectionButtons.find('**/Btn2') btn3 = self.selectionButtons.find('**/Btn3') self.ChineseCheckers = DirectButton( self, image=(btn1.find('**/checkersBtnUp'), btn1.find('**/checkersBtnDn'), btn1.find('**/checkersBtnHi'), btn1.find('**/checkersBtnUp')), scale=0.36, relief=0, pos=(0, 0, -0.7), command=self.checkersSelected) self.Checkers = DirectButton( self, image=(btn2.find('**/regular_checkersBtnUp'), btn2.find('**/regular_checkersBtnDn'), btn2.find('**/regular_checkersBtnHi'), btn2.find('**/regular_checkersBtnUp')), scale=0.36, relief=0, pos=(0.8, 0, -0.7), command=self.regCheckersSelected) self.FindFour = DirectButton( self, image=(btn3.find('**/findfourBtnUp'), btn3.find('**/findfourBtnDn'), btn3.find('**/findfourBtnHi'), btn3.find('**/findfourBtnUp')), scale=0.36, relief=0, pos=(-0.8, 0, -0.7), command=self.findFourSelected) if not config.GetBool('want-chinese', 0): self.ChineseCheckers['command'] = self.doNothing self.ChineseCheckers.setColor(0.7, 0.7, 0.7, 0.7) if not config.GetBool('want-checkers', 0): self.Checkers['command'] = self.doNothing self.Checkers.setColor(0.7, 0.7, 0.7, 0.7) if not config.GetBool('want-findfour', 0): self.FindFour['command'] = self.doNothing self.FindFour.setColor(0.7, 0.7, 0.7, 0.7) self.chineseText = OnscreenText( text='Chinese Checkers', pos=(0, 0.56, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=7, shadow=(0, 0, 0, 0.8), shadowOffset=(-0.1, -0.1), mayChange=True) self.chineseText.setR(-8) self.checkersText = OnscreenText( text='Checkers', pos=(0.81, -.1, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=7, shadow=(0, 0, 0, 0.8), shadowOffset=(0.1, -0.1), mayChange=True) self.findFourText = OnscreenText( text='Find Four', pos=(-0.81, -.08, -0.8), scale=0.15, fg=Vec4(1, 1, 1, 1), align=TextNode.ACenter, font=ToontownGlobals.getMinnieFont(), wordwrap=8, shadow=(0, 0, 0, 0.8), shadowOffset=(-0.1, -0.1), mayChange=True) self.findFourText.setR(-8) self.checkersText.setR(8) return
def updatePage(self): self.avAchievements = localAvatar.achievements for achievement in self.achievements: achievement.destroy() self.achievements = [] self.categories = [[], [], [], [], [], [], [], []] engageModulusMode = False setNum = 0 start_pos = LVecBase3(.4, 1, -0.26) seperation = LVecBase3(0, 0, 0.7) possibleAchievementTypes = Achievements.type2AchievementIds.keys() for type in xrange(len(possibleAchievementTypes)): for achievement in Achievements.AchievementsDict: if isinstance(achievement, possibleAchievementTypes[type]): cat = Achievements.type2Category.get(achievement.__class__) self.categories[cat].append( Achievements.AchievementsDict.index(achievement)) if len(self.categories[self.index]) > 4: self.setFrame.show() else: self.setFrame.hide() for achievement in xrange(self.offset, self.offset + 4): try: achievementFrame = DirectFrame( parent=self.achievementsPageNode, image=DGG.getDefaultDialogGeom(), scale=(0.55, 0, 0.55), relief=None, pos=(POSITIONS[achievement % 4]), text=TTLocalizer.Achievements[self.categories[self.index] [achievement]], text_scale=(.08), text_font=ToontownGlobals.getMinnieFont(), text_wordwrap=10, text_pos=(0, 0, 0)) except: return self.achievements.append(achievementFrame) if self.categories[self.index][achievement] in self.avAchievements: achievementFrame['text'] = TTLocalizer.Achievements[ self.categories[self.index][achievement]] achievementFrame['text_pos'] = (0, .4, 0) currentAchievement = AchievementsGlobals.AchievementImages[ self.categories[self.index][achievement]] img = OnscreenImage(image=currentAchievement, parent=achievementFrame, scale=(.2, 1, .2)) img.setTransparency(TransparencyAttrib.MAlpha) experience = OnscreenText( parent=achievementFrame, text=TTLocalizer.AchievementsDesc[self.categories[ self.index][achievement]], scale=(.06), wordwrap=10, font=ToontownGlobals.getMinnieFont(), pos=(0, -.3)) else: achievementFrame['text'] = TTLocalizer.LockedAchievement