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
Exemple #2
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 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,
        )
Exemple #4
0
 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)
Exemple #7
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
     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 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'] = '???'
Exemple #12
0
    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 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()
Exemple #16
0
 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)
Exemple #18
0
 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)
Exemple #19
0
    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 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)
Exemple #21
0
    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)
Exemple #23
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
Exemple #25
0
    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
Exemple #28
0
    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'] = '???'
Exemple #29
0
    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'] = '???'
Exemple #30
0
 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)
Exemple #34
0
 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)
Exemple #35
0
    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)
Exemple #36
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)
Exemple #42
0
    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)
Exemple #43
0
 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
Exemple #49
0
 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)
Exemple #50
0
    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
Exemple #51
0
    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 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, 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
Exemple #55
0
    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