コード例 #1
0
 def __init__(self):
     Avatar.Avatar.__init__(self)
     self.setFont(ToontownGlobals.getSuitFont())
     self.nametag.setSpeechFont(ToontownGlobals.getSuitFont())
     self.setPlayerType(NametagGroup.CCSuit)
     self.setPickable(0)
     self.doorA = None
     self.doorB = None
     self.bubbleL = None
     self.bubbleR = None
     self.raised = 1
     self.forward = 1
     self.happy = 1
     self.dizzy = 0
     self.nowRaised = 1
     self.nowForward = 1
     self.nowHappy = 1
     self.currentAnimIval = None
     self.queuedAnimIvals = []
     self.treadsLeftPos = 0
     self.treadsRightPos = 0
     self.healthBar = None
     self.healthCondition = 0
     self.animDoneEvent = 'BossCogAnimDone'
     self.animIvalName = 'BossCogAnimIval'
     self.attackSpeed = 1
     return
コード例 #2
0
 def __init__(self):
     Avatar.Avatar.__init__(self)
     self.setFont(ToontownGlobals.getSuitFont())
     self.nametag.setSpeechFont(ToontownGlobals.getSuitFont())
     self.setPlayerType(NametagGroup.CCSuit)
     self.setPickable(0)
     self.doorA = None
     self.doorB = None
     self.bubbleL = None
     self.bubbleR = None
     self.raised = 1
     self.forward = 1
     self.happy = 1
     self.dizzy = 0
     self.nowRaised = 1
     self.nowForward = 1
     self.nowHappy = 1
     self.currentAnimIval = None
     self.queuedAnimIvals = []
     self.treadsLeftPos = 0
     self.treadsRightPos = 0
     self.healthBar = None
     self.healthCondition = 0
     self.animDoneEvent = 'BossCogAnimDone'
     self.animIvalName = 'BossCogAnimIval'
     self.attackSpeed = 1
     return
コード例 #3
0
    def setupButtons(self):
        gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui')
        arrowImage = (gui.find('**/tt_t_gui_mat_shuffleArrowUp'), gui.find('**/tt_t_gui_mat_shuffleArrowDown'))
        buttonImage = (gui.find('**/tt_t_gui_mat_shuffleUp'), gui.find('**/tt_t_gui_mat_shuffleDown'))

        self.title = DirectLabel(aspect2d, relief=None, text=TTLocalizer.GloveGuiTitle,
                     text_fg=(0, 1, 0, 1), text_scale=0.15, text_font=ToontownGlobals.getSignFont(),
                     pos=(0, 0, -0.30), text_shadow=(1, 1, 1, 1))

        self.notice = DirectLabel(aspect2d, relief=None, text='', text_fg=(1, 0, 0, 1), text_scale=0.11,
                      text_font=ToontownGlobals.getSignFont(), pos=(0, 0, -0.45), text_shadow=(1, 1, 1, 1))

        self.color = DirectLabel(aspect2d, relief=None, text='', text_scale=0.11, text_font=ToontownGlobals.getSignFont(),
                     pos=(0, 0, -0.70), text_shadow=(1, 1, 1, 1))

        self.buyButton = DirectButton(aspect2d, relief=None, image=buttonImage, text=TTLocalizer.GloveGuiBuy,
                         text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.11, text_pos=(0, -0.02),
                         pos=(-0.60, 0, -0.90), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.__exit, extraArgs=[GloveNPCGlobals.CHANGE])

        self.cancelButton = DirectButton(aspect2d, relief=None, image=buttonImage, text=TTLocalizer.lCancel,
                            text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.11, text_pos=(0, -0.02),
                            pos=(0.60, 0, -0.90), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.__exit, extraArgs=[GloveNPCGlobals.USER_CANCEL])

        self.downArrow = DirectButton(aspect2d, relief=None, image=arrowImage, pos=(-0.60, 0, -0.66))
        self.upArrow = DirectButton(aspect2d, relief=None, image=arrowImage, pos=(0.60, 0, -0.66), scale=-1)

        gui.removeNode()
コード例 #4
0
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, cr)
     Level.Level.__init__(self)
     self.lastToonZone = None
     self.lastCamZone = 0
     self.titleColor = (1, 1, 1, 1)
     self.titleText = OnscreenText.OnscreenText(
         '',
         fg=self.titleColor,
         shadow=(0, 0, 0, 1),
         font=ToontownGlobals.getSuitFont(),
         pos=(0, -0.5),
         scale=0.16,
         drawOrder=0,
         mayChange=1)
     self.smallTitleText = OnscreenText.OnscreenText(
         '',
         fg=self.titleColor,
         font=ToontownGlobals.getSuitFont(),
         pos=(0.65, 0.9),
         scale=0.08,
         drawOrder=0,
         mayChange=1,
         bg=(0.5, 0.5, 0.5, 0.5),
         align=TextNode.ARight)
     self.titleSeq = None
     self.zonesEnteredList = []
     self.fColorZones = 0
     self.scenarioIndex = 0
コード例 #5
0
 def knockKnockTrack(self, avatar, duration):
     if avatar is None:
         return
     self.rimshot = base.loadSfx('phase_5/audio/sfx/AA_heal_telljoke.ogg')
     self.knockSfx = base.loadSfx('phase_5/audio/sfx/GUI_knock_%s.ogg' % random.randint(1, 4))
     joke = KnockKnockJokes[self.propId % len(KnockKnockJokes)]
     place = base.cr.playGame.getPlace()
     doorName = TTLocalizer.DoorNametag
     self.nametag = None
     self.nametagNP = None
     doorNP = render.find('**/KnockKnockDoorSphere_' + str(self.propId) + ';+s')
     if doorNP.isEmpty():
         self.notify.warning('Could not find KnockKnockDoorSphere_%s' % self.propId)
         return
     self.nametag = NametagGroup()
     self.nametag.setAvatar(doorNP)
     self.nametag.setFont(ToontownGlobals.getToonFont())
     self.nametag.setSpeechFont(ToontownGlobals.getToonFont())
     self.nametag.setName(doorName)
     self.nametag.setActive(0)
     self.nametag.manage(base.marginManager)
     self.nametag.getNametag3d().setBillboardOffset(4)
     nametagNode = self.nametag.getNametag3d()
     self.nametagNP = render.attachNewNode(nametagNode)
     self.nametagNP.setName('knockKnockDoor_nt_' + str(self.propId))
     pos = doorNP.getBounds().getCenter()
     self.nametagNP.setPos(pos + Vec3(0, 0, avatar.getHeight() + 2))
     d = duration * 0.125
     track = Sequence(Parallel(Sequence(Wait(d * 0.5), SoundInterval(self.knockSfx)), Func(self.nametag.setChat, TTLocalizer.DoorKnockKnock, CFSpeech), Wait(d)), Func(avatar.setChatAbsolute, TTLocalizer.DoorWhosThere, CFSpeech | CFTimeout, openEnded=0), Wait(d), Func(self.nametag.setChat, joke[0], CFSpeech), Wait(d), Func(avatar.setChatAbsolute, joke[0] + TTLocalizer.DoorWhoAppendix, CFSpeech | CFTimeout, openEnded=0), Wait(d), Func(self.nametag.setChat, joke[1], CFSpeech))
     if avatar == base.localAvatar:
         track.append(Func(self.sendUpdate, 'requestToonup'))
     track.append(Parallel(SoundInterval(self.rimshot, startTime=2.0), Wait(d * 4)))
     track.append(Func(self.cleanupTrack))
     track.delayDelete = DelayDelete.DelayDelete(avatar, 'knockKnockTrack')
     return track
コード例 #6
0
 def load(self):
     gui = loader.loadModel("phase_3/models/gui/laff_o_meter")
     if self.isToon:
         hType = self.style.getType()
         if hType == "dog":
             headModel = gui.find("**/doghead")
         elif hType == "cat":
             headModel = gui.find("**/cathead")
         elif hType == "mouse":
             headModel = gui.find("**/mousehead")
         elif hType == "horse":
             headModel = gui.find("**/horsehead")
         elif hType == "rabbit":
             headModel = gui.find("**/bunnyhead")
         elif hType == "duck":
             headModel = gui.find("**/duckhead")
         elif hType == "monkey":
             headModel = gui.find("**/monkeyhead")
         elif hType == "bear":
             headModel = gui.find("**/bearhead")
         elif hType == "pig":
             headModel = gui.find("**/pighead")
         else:
             raise StandardError("unknown toon species: ", hType)
         self.color = self.style.getHeadColor()
         self.container["image"] = headModel
         self.container["image_color"] = self.color
         self.resetFrameSize()
         self.setScale(0.1)
         self.frown = DirectFrame(parent=self.container, relief=None, image=gui.find("**/frown"))
         self.smile = DirectFrame(parent=self.container, relief=None, image=gui.find("**/smile"))
         self.eyes = DirectFrame(parent=self.container, relief=None, image=gui.find("**/eyes"))
         self.openSmile = DirectFrame(parent=self.container, relief=None, image=gui.find("**/open_smile"))
         self.tooth1 = DirectFrame(parent=self.openSmile, relief=None, image=gui.find("**/tooth_1"))
         self.tooth2 = DirectFrame(parent=self.openSmile, relief=None, image=gui.find("**/tooth_2"))
         self.tooth3 = DirectFrame(parent=self.openSmile, relief=None, image=gui.find("**/tooth_3"))
         self.tooth4 = DirectFrame(parent=self.openSmile, relief=None, image=gui.find("**/tooth_4"))
         self.tooth5 = DirectFrame(parent=self.openSmile, relief=None, image=gui.find("**/tooth_5"))
         self.tooth6 = DirectFrame(parent=self.openSmile, relief=None, image=gui.find("**/tooth_6"))
         self.maxLabel = DirectLabel(
             parent=self.eyes,
             relief=None,
             pos=(0.442, 0, 0.051),
             text="120",
             text_scale=0.4,
             text_font=ToontownGlobals.getInterfaceFont(),
         )
         self.hpLabel = DirectLabel(
             parent=self.eyes,
             relief=None,
             pos=(-0.398, 0, 0.051),
             text="120",
             text_scale=0.4,
             text_font=ToontownGlobals.getInterfaceFont(),
         )
         self.teeth = [self.tooth6, self.tooth5, self.tooth4, self.tooth3, self.tooth2, self.tooth1]
         self.fractions = [0.0, 0.166666, 0.333333, 0.5, 0.666666, 0.833333]
     gui.removeNode()
     return
コード例 #7
0
 def loadGUI(self):
     self.gui = loader.loadModel('phase_13/models/parties/trampolineGUI')
     self.gui.reparentTo(base.a2dTopLeft)
     self.gui.setPos(0.115, 0, -1)
     self.gui.hide()
     self.toonIndicator = self.gui.find('**/trampolineGUI_MovingBar')
     jumpLineLocator = self.gui.find('**/jumpLine_locator')
     guiBean = self.gui.find('**/trampolineGUI_GreenJellyBean')
     self.gui.find('**/trampolineGUI_GreenJellyBean').stash()
     self.guiBeans = [
         guiBean.instanceUnderNode(jumpLineLocator,
                                   self.uniqueName('guiBean%d' % i))
         for i in xrange(self.numJellyBeans)
     ]
     self.guiBeans[-1].setScale(1.5)
     heightTextNode = TextNode(
         self.uniqueName('TrampolineActivity.heightTextNode'))
     heightTextNode.setFont(ToontownGlobals.getSignFont())
     heightTextNode.setAlign(TextNode.ALeft)
     heightTextNode.setText('0.0')
     heightTextNode.setShadow(0.05, 0.05)
     heightTextNode.setShadowColor(0.0, 0.0, 0.0, 1.0)
     heightTextNode.setTextColor(1.0, 1.0, 1.0, 1.0)
     self.heightText = jumpLineLocator.attachNewNode(heightTextNode)
     self.heightText.setX(0.15)
     self.heightText.setScale(0.1)
     self.heightText.setAlphaScale(0.0)
     self.quitEarlyButtonModels = loader.loadModel(
         'phase_3.5/models/gui/inventory_gui')
     quitEarlyUp = self.quitEarlyButtonModels.find('**//InventoryButtonUp')
     quitEarlyDown = self.quitEarlyButtonModels.find(
         '**/InventoryButtonDown')
     quitEarlyRollover = self.quitEarlyButtonModels.find(
         '**/InventoryButtonRollover')
     self.quitEarlyButton = DirectButton(
         parent=base.a2dTopRight,
         relief=None,
         text=TTLocalizer.PartyTrampolineQuitEarlyButton,
         text_fg=(1, 1, 0.65, 1),
         text_pos=(0, -0.23),
         text_scale=0.7,
         image=(quitEarlyUp, quitEarlyDown, quitEarlyRollover),
         image_color=(1, 0, 0, 1),
         image_scale=(20, 1, 11),
         pos=(-0.183, 0, -0.4),
         scale=0.09,
         command=self.leaveTrampoline)
     self.quitEarlyButton.stash()
     self.flashText = OnscreenText(text='',
                                   pos=(0.0, -0.45),
                                   scale=0.2,
                                   fg=(1.0, 1.0, 0.65, 1.0),
                                   align=TextNode.ACenter,
                                   font=ToontownGlobals.getSignFont(),
                                   mayChange=True)
     self.timer = PartyUtils.getNewToontownTimer()
     self.timer.posInTopRightCorner()
     return
コード例 #8
0
 def loadDnaStore(self):
     if not hasattr(self, 'dnaStore'):
         self.dnaStore = DNAStorage()
         files = ('phase_4/dna/storage.pdna', 'phase_3.5/dna/storage_interior.pdna')
         dnaBulk = DNABulkLoader(self.dnaStore, files)
         dnaBulk.loadDNAFiles()
         self.dnaStore.storeFont('humanist', ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont())
         self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont())
コード例 #9
0
 def load(self):
     buttonModels = loader.loadModel('phase_3.5/models/gui/inventory_gui')
     upButton = buttonModels.find('**//InventoryButtonUp')
     downButton = buttonModels.find('**/InventoryButtonDown')
     rolloverButton = buttonModels.find('**/InventoryButtonRollover')
     self.exitButton = DirectButton(
         relief=None,
         text=TTLocalizer.PartyTeamActivityExitButton,
         text_fg=(1, 1, 0.65, 1),
         text_pos=(0, -0.15),
         text_scale=0.5,
         image=(upButton, downButton, rolloverButton),
         image_color=(1, 0, 0, 1),
         image_scale=(14.5, 1, 9),
         pos=(0, 0, 0.8),
         scale=0.15,
         command=self.handleExitButtonClick)
     self.exitButton.hide()
     if self.activity.toonsCanSwitchTeams():
         self.switchButton = DirectButton(
             relief=None,
             text=TTLocalizer.PartyTeamActivitySwitchTeamsButton,
             text_fg=(1, 1, 1, 1),
             text_pos=(0, 0.1),
             text_scale=0.5,
             image=(upButton, downButton, rolloverButton),
             image_color=(0, 1, 0, 1),
             image_scale=(15, 1, 15),
             pos=(0, 0, 0.5),
             scale=0.15,
             command=self.handleSwitchButtonClick)
         self.switchButton.hide()
     else:
         self.switchButton = None
     buttonModels.removeNode()
     self.countdownText = OnscreenText(
         text='',
         pos=(0.0, -0.2),
         scale=PartyGlobals.TeamActivityTextScale * 1.2,
         fg=(1.0, 1.0, 0.65, 1.0),
         align=TextNode.ACenter,
         font=ToontownGlobals.getSignFont(),
         mayChange=True)
     self.countdownText.hide()
     self.statusText = OnscreenText(
         text='',
         pos=(0.0, 0.0),
         scale=PartyGlobals.TeamActivityTextScale,
         fg=PartyGlobals.TeamActivityStatusColor,
         align=TextNode.ACenter,
         font=ToontownGlobals.getSignFont(),
         mayChange=True)
     self.statusText.hide()
     self.timer = PartyUtils.getNewToontownTimer()
     self.timer.hide()
     return
コード例 #10
0
 def loadNextGameTimer(self):
     self.nextGame = DirectLabel(parent=self, relief=None, text='', text_font=ToontownGlobals.getSignFont(), text_scale=TTLocalizer.BCGnextGame * BG.CardImageScale[2], text_fg=(1.0, 1.0, 1.0, 1), pos=(BG.GridXOffset, 0, 4 * BG.CardImageScale[2]))
     self.nextGameTimer = ToontownTimer.ToontownTimer()
     self.nextGameTimer.reparentTo(self.nextGame)
     self.nextGameTimer.setPos(0, 0, -5 * BG.CardImageScale[2])
     self.nextGameTimer.setProp('image', None)
     self.nextGameTimer.setProp('text_font', ToontownGlobals.getSignFont())
     self.nextGameTimer.setProp('text_scale', 0.2 * BG.CardImageScale[2])
     self.nextGameTimer.setFontColor(Vec4(1.0, 1.0, 1.0, 1))
     return
コード例 #11
0
 def load(self):
     self.weight = DirectLabel(parent=self,
                               pos=(0, 0, -0.28),
                               relief=None,
                               state=DGG.NORMAL,
                               text='',
                               text_scale=0.05,
                               text_fg=(0, 0, 0, 1),
                               text_pos=(0, 0.0, 0),
                               text_font=ToontownGlobals.getInterfaceFont(),
                               text_wordwrap=10.5)
     self.value = DirectLabel(parent=self,
                              pos=(0, 0, -0.35),
                              relief=None,
                              state=DGG.NORMAL,
                              text='',
                              text_scale=0.05,
                              text_fg=(0, 0, 0, 1),
                              text_pos=(0, 0, 0),
                              text_font=ToontownGlobals.getInterfaceFont(),
                              text_wordwrap=10.5)
     self.mystery = DirectLabel(
         parent=self,
         pos=(-0.025, 0, -0.055),
         relief=None,
         state=DGG.NORMAL,
         text='?',
         text_scale=0.25,
         text_fg=(0, 0, 0, 1),
         text_pos=(0, 0, 0),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_wordwrap=10.5)
     self.extraLabel = DirectLabel(parent=self,
                                   relief=None,
                                   state=DGG.NORMAL,
                                   text='',
                                   text_fg=(0.2, 0.8, 0.4, 1),
                                   text_font=ToontownGlobals.getSignFont(),
                                   text_scale=0.08,
                                   pos=(0, 0, 0.26))
     buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui')
     self.cancel = DirectButton(parent=self,
                                pos=(0.275, 0, -0.375),
                                relief=None,
                                state=DGG.NORMAL,
                                image=(buttons.find('**/CloseBtn_UP'),
                                       buttons.find('**/CloseBtn_DN'),
                                       buttons.find('**/CloseBtn_Rllvr')),
                                image_scale=(0.6, 1, 0.6),
                                command=self.handleCancel)
     buttons.removeNode()
     self.photo = FishPhoto.FishPhoto(parent=self)
     self.update(self.fish)
     return
コード例 #12
0
 def loadDnaStore(self):
     if not hasattr(self, 'dnaStore'):
         self.dnaStore = DNAStorage()
         files = ('phase_4/dna/storage.pdna',
                  'phase_3.5/dna/storage_interior.pdna')
         dnaBulk = DNABulkLoader(self.dnaStore, files)
         dnaBulk.loadDNAFiles()
         self.dnaStore.storeFont('humanist',
                                 ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont())
         self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont())
コード例 #13
0
    def enableRaceMode(self):
        self.enableSpeedometer()
        self.render2dRoot.show()
        self.raceModeRoot.show()
        self.maxLapHit = min(self.maxLapHit, self.race.lapCount - 1)
        for x in xrange(self.maxLapHit + 1):
            for y in self.timeLabels[x]:
                y.configure(text_font=ToontownGlobals.getSignFont())
                y.show()

        for y in self.timeLabels[self.maxLapHit]:
            y.configure(text_font=ToontownGlobals.getSignFont())
コード例 #14
0
    def enableRaceMode(self):
        self.enableSpeedometer()
        self.render2dRoot.show()
        self.raceModeRoot.show()
        self.maxLapHit = min(self.maxLapHit, self.race.lapCount - 1)
        for x in xrange(self.maxLapHit + 1):
            for y in self.timeLabels[x]:
                y.configure(text_font=ToontownGlobals.getSignFont())
                y.show()

        for y in self.timeLabels[self.maxLapHit]:
            y.configure(text_font=ToontownGlobals.getSignFont())
コード例 #15
0
 def load(self):
     model = loader.loadModel('phase_5.5/models/gui/package_delivery_panel')
     model1 = loader.loadModel('phase_3.5/models/gui/matching_game_gui')
     self.model = model
     self.model1 = model1
     background = model.find('**/bg')
     itemBoard = model.find('**/item_board')
     congratsMessage = 'Super Congratulations!!'
     if self.typePromotion == SHOVEL:
         congratsMessage = TTLocalizer.GardenShovelLevelUp + ' \n' + GardenGlobals.ShovelAttributes[
             self.level]['name']
     elif self.typePromotion == WATERINGCAN:
         congratsMessage = TTLocalizer.GardenWateringCanLevelUp + ' \n' + GardenGlobals.WateringCanAttributes[
             self.level]['name']
     elif self.typePromotion == GAMEWIN:
         congratsMessage = TTLocalizer.GardenMiniGameWon
     self.frame = DirectFrame(scale=1.1,
                              relief=None,
                              image=DGG.getDefaultDialogGeom(),
                              image_scale=(1.75, 1, 0.75),
                              image_color=ToontownGlobals.GlobalDialogColor,
                              frameSize=(-0.5, 0.5, -0.45, -0.05))
     self.congratsText = DirectLabel(
         scale=1.1,
         relief=None,
         text_pos=(0, 0.2),
         text_wordwrap=16,
         text=congratsMessage,
         text_font=ToontownGlobals.getSignFont(),
         pos=(0.0, 0.0, 0.0),
         text_scale=0.1,
         text0_fg=(1, 1, 1, 1),
         parent=self.frame)
     gui2 = loader.loadModel('phase_3/models/gui/quit_button')
     self.quitButton = DirectButton(parent=self.frame,
                                    relief=None,
                                    image=(gui2.find('**/QuitBtn_UP'),
                                           gui2.find('**/QuitBtn_DN'),
                                           gui2.find('**/QuitBtn_RLVR')),
                                    pos=(0.5, 1.0, -0.32),
                                    scale=0.9,
                                    text='Exit',
                                    text_font=ToontownGlobals.getSignFont(),
                                    text0_fg=(1, 1, 1, 1),
                                    text1_fg=(1, 1, 1, 1),
                                    text2_fg=(1, 1, 1, 1),
                                    text_scale=0.045,
                                    text_pos=(0, -0.01),
                                    command=self.__handleExit)
     return
 def loadGUI(self):
     self.gui = loader.loadModel('phase_13/models/parties/trampolineGUI')
     self.gui.reparentTo(base.a2dTopLeft)
     self.gui.setPos(0.115, 0, -1)
     self.gui.hide()
     self.toonIndicator = self.gui.find('**/trampolineGUI_MovingBar')
     jumpLineLocator = self.gui.find('**/jumpLine_locator')
     guiBean = self.gui.find('**/trampolineGUI_GreenJellyBean')
     self.gui.find('**/trampolineGUI_GreenJellyBean').stash()
     self.guiBeans = [ guiBean.instanceUnderNode(jumpLineLocator, self.uniqueName('guiBean%d' % i)) for i in xrange(self.numJellyBeans) ]
     self.guiBeans[-1].setScale(1.5)
     heightTextNode = TextNode(self.uniqueName('TrampolineActivity.heightTextNode'))
     heightTextNode.setFont(ToontownGlobals.getSignFont())
     heightTextNode.setAlign(TextNode.ALeft)
     heightTextNode.setText('0.0')
     heightTextNode.setShadow(0.05, 0.05)
     heightTextNode.setShadowColor(0.0, 0.0, 0.0, 1.0)
     heightTextNode.setTextColor(1.0, 1.0, 1.0, 1.0)
     self.heightText = jumpLineLocator.attachNewNode(heightTextNode)
     self.heightText.setX(0.15)
     self.heightText.setScale(0.1)
     self.heightText.setAlphaScale(0.0)
     self.quitEarlyButtonModels = loader.loadModel('phase_3.5/models/gui/inventory_gui')
     quitEarlyUp = self.quitEarlyButtonModels.find('**//InventoryButtonUp')
     quitEarlyDown = self.quitEarlyButtonModels.find('**/InventoryButtonDown')
     quitEarlyRollover = self.quitEarlyButtonModels.find('**/InventoryButtonRollover')
     self.quitEarlyButton = DirectButton(parent=base.a2dTopRight, relief=None, text=TTLocalizer.PartyTrampolineQuitEarlyButton, text_fg=(1, 1, 0.65, 1), text_pos=(0, -0.23), text_scale=0.7, image=(quitEarlyUp, quitEarlyDown, quitEarlyRollover), image_color=(1, 0, 0, 1), image_scale=(20, 1, 11), pos=(-0.183, 0, -0.4), scale=0.09, command=self.leaveTrampoline)
     self.quitEarlyButton.stash()
     self.flashText = OnscreenText(text='', pos=(0.0, -0.45), scale=0.2, fg=(1.0, 1.0, 0.65, 1.0), align=TextNode.ACenter, font=ToontownGlobals.getSignFont(), mayChange=True)
     self.timer = PartyUtils.getNewToontownTimer()
     self.timer.posInTopRightCorner()
     return
コード例 #17
0
 def checkBoard(self, av):
     dept = ToontownGlobals.cogHQZoneId2deptIndex(self.zone)
     if av.hp < self.minLaff:
         return REJECT_MINLAFF
     if not av.readyForPromotion(dept):
         return REJECT_PROMOTION
     return 0
コード例 #18
0
    def load(self):
        self.notify.debug('load')
        DistributedMinigame.load(self)
        self.itText = OnscreenText.OnscreenText(
            'itText',
            fg=(0.95, 0.95, 0.65, 1),
            scale=0.14,
            font=ToontownGlobals.getSignFont(),
            pos=(0.0, -0.8),
            wordwrap=15,
            mayChange=1)
        self.itText.hide()
        safezoneId = self.getSafezoneId()
        self.sky = loader.loadModel(TagGameGlobals.getSky(safezoneId))
        self.ground = loader.loadModel(TagGameGlobals.getGround(safezoneId))
        self.music = base.loadMusic('phase_4/audio/bgm/MG_toontag.ogg')
        self.tagSfx = base.loadSfx('phase_4/audio/sfx/MG_Tag_C.ogg')
        self.itPointer = loader.loadModel(
            'phase_4/models/minigames/bboard-pointer')
        self.tracks = []
        self.initialPositions = TagGameGlobals.getDropPoints(safezoneId)
        self.IT = None

        if TagGameGlobals.isSnowHood(safezoneId):
            self.snow, self.snowRender = SnowUtil.createSnow(self.ground)

        return
コード例 #19
0
    def __makeGallery(self):
        self.gallery = hidden.attachNewNode('gallery')
        self.gallery.setDepthWrite(1)
        self.gallery.setDepthTest(1)
        self.suits = []
        self.actors = []
        self.text = TextNode('rogues')
        self.text.setFont(ToontownGlobals.getInterfaceFont())
        self.text.setAlign(TextNode.ACenter)
        self.text.setTextColor(0.0, 0.0, 0.0, 1.0)
        self.rowHeight = 0.0
        self.minXScale = None
        print "rognamestr='", self.rognamestr, "'\n"
        if self.rognamestr == None or len(self.rognamestr) == 0:
            for dept in SuitDNA.suitDepts:
                self.__makeDept(dept)

        else:
            self.suitRow = []
            self.rowWidth = 0.0
            self.__makeSuit(None, None, self.rognamestr)
            self.minXScale = self.xRowSpace / self.rowWidth
            self.suits.append((self.rowWidth, self.suitRow))
            del self.suitRow
        self.__rescaleSuits()
        return
コード例 #20
0
    def setGenus(self, genus):
        if self.genus == genus:
            return
        self.genus = genus
        if self.genus != None:
            if self.fishPanel:
                self.fishPanel.destroy()
            f = FishBase.FishBase(self.genus, 0, 0)
            self.fishPanel = FishPhoto.FishPhoto(fish=f, parent=self)
            self.fishPanel.setPos(-0.23, 1, -0.01)
            self.fishPanel.setSwimBounds(-0.2461, 0.2367, -0.207, 0.2664)
            self.fishPanel.setSwimColor(0.47, 1.0, 0.99, 1.0)
            speciesList = FishGlobals.getSpecies(self.genus)
            self.speciesLabels = []
            offset = 0.075
            startPos = len(speciesList) / 2 * offset
            if not len(speciesList) % 2:
                startPos -= offset / 2
            for species in xrange(len(speciesList)):
                label = DirectLabel(
                    parent=self,
                    relief=None,
                    state=DGG.NORMAL,
                    pos=(0.06, 0, startPos - species * offset),
                    text=TTLocalizer.UnknownFish,
                    text_fg=(0.2, 0.1, 0.0, 1),
                    text_scale=TTLocalizer.GPgenus,
                    text_align=TextNode.ALeft,
                    text_font=ToontownGlobals.getInterfaceFont())
                self.speciesLabels.append(label)

        return
コード例 #21
0
    def initToonState(self):
        if self.name in NPCToons.ClerkPositions:
            self.putOnSuit(ToontownGlobals.cogHQZoneId2deptIndex(self.zoneId),
                           rental=True)

        self.setAnimState('neutral', 0.9, None, None)
        self.updatePosition()
コード例 #22
0
    def __init__(self, species=None, itemIndex=0, *extraArgs):
        flowerGui = loader.loadModel('phase_3.5/models/gui/fishingBook')
        albumGui = flowerGui.find('**/photo_frame1')
        pictureGroup = albumGui.attachNewNode('PictureGroup')
        hideList = ['corner_backs', 'shadow', 'bg', 'corners', 'picture']
        for name in hideList:
            temp = flowerGui.find('**/%s' % name)
            if not temp.isEmpty():
                temp.wrtReparentTo(pictureGroup)

        pictureGroup.setPos(0, 0, 1.0)
        albumGui.find('**/arrows').removeNode()
        optiondefs = (('relief', None, None), ('state', DGG.NORMAL, None),
                      ('image', albumGui,
                       None), ('image_scale', (0.025, 0.025, 0.025),
                               None), ('image_pos', (0, 1, 0), None),
                      ('text', TTLocalizer.FlowerUnknown,
                       None), ('text_scale', 0.065,
                               None), ('text_fg', (0.2, 0.1, 0.0, 1), None),
                      ('text_pos', (-0.5, -0.34),
                       None), ('text_font', ToontownGlobals.getInterfaceFont(),
                               None), ('text_wordwrap', 13.5, None),
                      ('text_align', TextNode.ALeft, None))
        self.defineoptions({}, optiondefs)
        DirectFrame.__init__(self)
        self.initialiseoptions(FlowerSpeciesPanel)
        self.flowerPanel = None
        self.species = None
        self.variety = 0
        self.flowerCollection = extraArgs[0]
        self.setSpecies(int(species))
        self.setScale(1.2)
        albumGui.removeNode()
        self.beanRecipeGui = None
        return
コード例 #23
0
 def __init__(self, genus = None, itemIndex = 0, *extraArgs):
     fishingGui = loader.loadModel('phase_3.5/models/gui/fishingBook')
     albumGui = fishingGui.find('**/photo_frame1').copyTo(hidden)
     albumGui.find('**/picture_frame').reparentTo(albumGui, -1)
     albumGui.find('**/arrows').removeNode()
     optiondefs = (('relief', None, None),
      ('state', DGG.NORMAL, None),
      ('image', albumGui, None),
      ('image_scale', (0.025, 0.025, 0.025), None),
      ('image_pos', (0, 1, 0), None),
      ('text', TTLocalizer.UnknownFish, None),
      ('text_scale', 0.065, None),
      ('text_fg', (0.2, 0.1, 0.0, 1), None),
      ('text_pos', (-0.5, -0.34), None),
      ('text_font', ToontownGlobals.getInterfaceFont(), None),
      ('text_wordwrap', 13.5, None),
      ('text_align', TextNode.ALeft, None))
     self.defineoptions({}, optiondefs)
     DirectFrame.__init__(self)
     self.initialiseoptions(GenusPanel)
     self.fishPanel = None
     self.genus = None
     self.setGenus(int(genus))
     self.setScale(1.2)
     albumGui.removeNode()
     return
 def checkBoard(self, av):
     dept = ToontownGlobals.cogHQZoneId2deptIndex(self.zone)
     if av.hp < self.minLaff:
         return REJECT_MINLAFF
     if not av.readyForPromotion(dept):
         return REJECT_PROMOTION
     return 0
コード例 #25
0
 def loadPlaceGeom(self, zoneId):
     self.notify.info('loadPlaceGeom: %s' % zoneId)
     zoneId = zoneId - zoneId % 100
     if zoneId == ToontownGlobals.CashbotHQ:
         self.geom = loader.loadModel(self.cogHQExteriorModelPath)
         ddLinkTunnel = self.geom.find('**/LinkTunnel1')
         ddLinkTunnel.setName('linktunnel_dl_9252_DNARoot')
         locator = self.geom.find('**/sign_origin')
         backgroundGeom = self.geom.find('**/EntranceFrameFront')
         backgroundGeom.node().setEffect(DecalEffect.make())
         signText = DirectGui.OnscreenText(
             text=TTLocalizer.DonaldsDreamland[-1],
             font=ToontownGlobals.getSuitFont(),
             scale=3,
             fg=(0.87, 0.87, 0.87, 1),
             mayChange=False,
             parent=backgroundGeom)
         signText.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
         signText.setDepthWrite(0)
     elif zoneId == ToontownGlobals.CashbotLobby:
         if base.config.GetBool('want-qa-regression', 0):
             self.notify.info('QA-REGRESSION: COGHQ: Visit CashbotLobby')
         self.geom = loader.loadModel(self.cogHQLobbyModelPath)
     else:
         self.notify.warning('loadPlaceGeom: unclassified zone %s' % zoneId)
     CogHQLoader.CogHQLoader.loadPlaceGeom(self, zoneId)
コード例 #26
0
 def attachHostNameToSign(self, locator):
     if self.hostName == '':
         return
     nameText = TextNode('nameText')
     nameText.setCardAsMargin(0.1, 0.1, 0.1, 0.1)
     nameText.setCardDecal(True)
     nameText.setCardColor(1.0, 1.0, 1.0, 0.0)
     r = 232.0 / 255.0
     g = 169.0 / 255.0
     b = 23.0 / 255.0
     nameText.setTextColor(r, g, b, 1)
     nameText.setAlign(nameText.ACenter)
     nameText.setFont(ToontownGlobals.getBuildingNametagFont())
     nameText.setShadowColor(0, 0, 0, 1)
     nameText.setBin('fixed')
     if TTLocalizer.BuildingNametagShadow:
         nameText.setShadow(*TTLocalizer.BuildingNametagShadow)
     nameWordWrap = 11.0
     nameText.setWordwrap(nameWordWrap)
     scaleMult = 0.48
     houseName = self.hostName
     nameText.setText(houseName)
     textWidth = nameText.getWidth()
     xScale = 1.0 * scaleMult
     if textWidth > nameWordWrap:
         xScale = nameWordWrap / textWidth * scaleMult
     sign_origin = locator
     namePlate = sign_origin.attachNewNode(nameText)
     namePlate.setDepthWrite(0)
     namePlate.setPos(0, 0, 0)
     namePlate.setScale(xScale)
コード例 #27
0
 def setEntranceId(self, entranceId):
     self.entranceId = entranceId
     geom = self.cr.playGame.hood.loader.geom
     locator = geom.find('**/elevator_origin_%s' % entranceId)
     if locator:
         self.elevatorModel.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
     else:
         self.notify.error('No origin found for originId: %s' % entranceId)
     entranceId2zoneId = {
         0: ToontownGlobals.LawbotStageIntA,
         1: ToontownGlobals.LawbotStageIntB,
         2: ToontownGlobals.LawbotStageIntC,
         3: ToontownGlobals.LawbotStageIntD
     }
     self.intZoneId = entranceId2zoneId[entranceId]
     locator = geom.find('**/elevator_signorigin_%s' % entranceId)
     backgroundGeom = geom.find('**/ElevatorFrameFront_%d' % entranceId)
     backgroundGeom.node().setEffect(DecalEffect.make())
     signText = DirectGui.OnscreenText(text=TextEncoder.upper(
         TTLocalizer.GlobalStreetNames[self.intZoneId][-1]),
                                       font=ToontownGlobals.getSuitFont(),
                                       scale=2,
                                       fg=(0.87, 0.87, 0.87, 1),
                                       mayChange=False,
                                       parent=backgroundGeom)
     signText.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
     signText.setDepthWrite(0)
コード例 #28
0
 def __init__(self, genus=None, itemIndex=0, *extraArgs):
     fishingGui = loader.loadModel('phase_3.5/models/gui/fishingBook')
     albumGui = fishingGui.find('**/photo_frame1').copyTo(hidden)
     albumGui.find('**/picture_frame').reparentTo(albumGui, -1)
     albumGui.find('**/arrows').removeNode()
     optiondefs = (('relief', None, None), ('state', DGG.NORMAL, None),
                   ('image', albumGui,
                    None), ('image_scale', (0.025, 0.025, 0.025),
                            None), ('image_pos', (0, 1, 0), None),
                   ('text', TTLocalizer.UnknownFish,
                    None), ('text_scale', 0.065,
                            None), ('text_fg', (0.2, 0.1, 0.0, 1), None),
                   ('text_pos', (-0.5, -0.34),
                    None), ('text_font', ToontownGlobals.getInterfaceFont(),
                            None), ('text_wordwrap', 13.5, None),
                   ('text_align', TextNode.ALeft, None))
     self.defineoptions({}, optiondefs)
     DirectFrame.__init__(self)
     self.initialiseoptions(GenusPanel)
     self.fishPanel = None
     self.genus = None
     self.setGenus(int(genus))
     self.setScale(1.2)
     albumGui.removeNode()
     return
コード例 #29
0
 def __init__(self, air, bldg, mintId, antiShuffle=0, minLaff=0):
     DistributedElevatorExtAI.DistributedElevatorExtAI.__init__(
         self, air, bldg, antiShuffle=antiShuffle, minLaff=minLaff)
     self.mintId = mintId
     self.cogDept = ToontownGlobals.cogHQZoneId2deptIndex(self.mintId)
     self.type = ELEVATOR_MINT
     self.countdownTime = ElevatorData[self.type]['countdown']
コード例 #30
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
コード例 #31
0
 def load(self):
     gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui')
     shuffleFrame = gui.find('**/tt_t_gui_mat_shuffleFrame')
     shuffleUp = gui.find('**/tt_t_gui_mat_shuffleUp')
     shuffleDown = gui.find('**/tt_t_gui_mat_shuffleDown')
     shuffleArrowUp = gui.find('**/tt_t_gui_mat_shuffleArrowUp')
     shuffleArrowDown = gui.find('**/tt_t_gui_mat_shuffleArrowDown')
     shuffleArrowDisabled = gui.find('**/tt_t_gui_mat_shuffleArrowDisabled')
     gui.removeNode()
     del gui
     self.parentFrame = DirectFrame(parent=self.parent.parentFrame, relief=DGG.RAISED, pos=(0, 0, -1), frameColor=(1, 0, 0, 0))
     self.shuffleFrame = DirectFrame(parent=self.parentFrame, image=shuffleFrame, image_scale=halfButtonInvertScale, relief=None, frameColor=(1, 1, 1, 1))
     self.shuffleFrame.hide()
     self.shuffleBtn = DirectButton(parent=self.parentFrame, relief=None, image=(shuffleUp, shuffleDown, shuffleUp), image_scale=halfButtonInvertScale, image1_scale=(-0.63, 0.6, 0.6), image2_scale=(-0.63, 0.6, 0.6), text=(TTLocalizer.ShuffleButton,
      TTLocalizer.ShuffleButton,
      TTLocalizer.ShuffleButton,
      ''), text_font=ToontownGlobals.getInterfaceFont(), text_scale=TTLocalizer.SBshuffleBtn, text_pos=(0, -0.02), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), command=self.chooseRandom)
     self.incBtn = DirectButton(parent=self.parentFrame, relief=None, image=(shuffleArrowUp,
      shuffleArrowDown,
      shuffleArrowUp,
      shuffleArrowDisabled), image_scale=halfButtonInvertScale, image1_scale=halfButtonInvertHoverScale, image2_scale=halfButtonInvertHoverScale, pos=(0.202, 0, 0), command=self.__goFrontHistory)
     self.incBtn.hide()
     self.decBtn = DirectButton(parent=self.parentFrame, relief=None, image=(shuffleArrowUp,
      shuffleArrowDown,
      shuffleArrowUp,
      shuffleArrowDisabled), image_scale=halfButtonScale, image1_scale=halfButtonHoverScale, image2_scale=halfButtonHoverScale, pos=(-0.202, 0, 0), command=self.__goBackHistory)
     self.decBtn.hide()
     self.lerpDuration = 0.5
     self.showLerp = None
     self.frameShowLerp = LerpColorInterval(self.shuffleFrame, self.lerpDuration, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0))
     self.incBtnShowLerp = LerpColorInterval(self.incBtn, self.lerpDuration, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0))
     self.decBtnShowLerp = LerpColorInterval(self.decBtn, self.lerpDuration, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0))
     self.__updateArrows()
     return
コード例 #32
0
 def setupEndSection(self, index):
     aspectSF = 0.7227
     self.endSectionNP = NodePath('EndSection')
     self.endSectionNP.reparentTo(self.game.assetMgr.world)
     self.endSectionNP.setX(self.incrementX)
     self.endWall = self.game.assetMgr.startingWall.copyTo(self.endSectionNP)
     self.endWall.setPos(100, 0, 4)
     self.endWall.setScale(0.8)
     self.endArrow = self.game.assetMgr.arrow.copyTo(self.endSectionNP)
     self.endArrow.setPos(6, 1.5, 12.76)
     self.exitElevator = self.game.assetMgr.exitElevator.copyTo(self.endSectionNP)
     self.exitElevator.setPos(52, -2, 12.7)
     cogSignModel = loader.loadModel('phase_4/models/props/sign_sellBotHeadHQ')
     cogSign = cogSignModel.find('**/sign_sellBotHeadHQ')
     cogSignSF = 23
     elevatorSignSF = 15
     sideDoor = self.exitElevator.find('**/doorway2')
     sdSign = cogSign.copyTo(sideDoor)
     sdSign.setPosHprScale(0, 1.9, 15, 0, 0, 0, elevatorSignSF, elevatorSignSF, elevatorSignSF * aspectSF)
     sdSign.node().setEffect(DecalEffect.make())
     sdText = DirectGui.OnscreenText(text=TTLocalizer.TwoDGameElevatorExit, font=ToontownGlobals.getSuitFont(), pos=(0, -0.34), scale=0.15, mayChange=False, parent=sdSign)
     sdText.setDepthWrite(0)
     self.sectionNPList.append(self.endSectionNP)
     endSectionInfo = ('end',
      [],
      [],
      [0],
      [])
     endSection = TwoDSection.TwoDSection(index, endSectionInfo, self.endSectionNP, self)
     self.sections.append(endSection)
     self.incrementX += endSection.length
 def buildFrame(self, name, dnaTuple):
     frame = loader.loadModel('phase_3.5/models/modules/trophy_frame')
     dna = ToonDNA.ToonDNA()
     apply(dna.newToonFromProperties, dnaTuple)
     head = ToonHead.ToonHead()
     head.setupHead(dna)
     head.setPosHprScale(0, -0.05, -0.05, 180, 0, 0, 0.55, 0.02, 0.55)
     if dna.head[0] == 'r':
         head.setZ(-0.15)
     elif dna.head[0] == 'h':
         head.setZ(0.05)
     elif dna.head[0] == 'm':
         head.setScale(0.45, 0.02, 0.45)
     head.reparentTo(frame)
     nameText = TextNode('trophy')
     nameText.setFont(ToontownGlobals.getToonFont())
     nameText.setAlign(TextNode.ACenter)
     nameText.setTextColor(0, 0, 0, 1)
     nameText.setWordwrap(5.36 * FrameScale)
     nameText.setText(name)
     namePath = frame.attachNewNode(nameText.generate())
     namePath.setPos(0, -0.03, -.6)
     namePath.setScale(0.186 / FrameScale)
     frame.setScale(FrameScale, 1.0, FrameScale)
     return frame
コード例 #34
0
 def __init__(self, id, code, modelToCopy):
     DirectFrame.__init__(self,
                          relief=None,
                          state=DGG.NORMAL,
                          sortOrder=DGG.BACKGROUND_SORT_INDEX)
     self._id = id
     self._model = modelToCopy.copyTo(self)
     self._model.setPos(0, 0, 0)
     self._bg = self._model.find('**/bossBackground')
     self._bossIcon = self._model.find('**/bossIcon')
     self._bossIconX = self._model.find('**/bossIconX')
     self._bossIconX.reparentTo(self._bossIcon)
     self._bossIconX.hide()
     self._bg.hide()
     self._bossIcon.setBin('fixed', 2)
     self._bg.setBin('fixed', 3)
     self._label = DirectLabel(
         parent=self._bg,
         relief=None,
         scale=Globals.BossCodeFrameLabelScale,
         text=code,
         pos=(0, 0, -0.03),
         text_align=TextNode.ACenter,
         text_fg=Globals.BossCodeFrameLabelNormalColor,
         text_shadow=(0, 0, 0, 0),
         text_font=ToontownGlobals.getSuitFont())
     return
コード例 #35
0
    def _initModel(self):
        codeFrameGap = Globals.BossCodeFrameGap
        codeFrameWidth = Globals.BossCodeFrameWidth
        self._model = CogdoUtil.loadMazeModel('bossCog', group='gui')
        self._model.reparentTo(self)
        self._model.find('**/frame').setBin('fixed', 1)
        titleLabelPos = self._model.find('**/title_label_loc').getPos()
        self._titleLabel = DirectLabel(
            parent=self,
            relief=None,
            scale=Globals.BossGuiTitleLabelScale,
            text=TTLocalizer.CogdoMazeGameBossGuiTitle.upper(),
            pos=titleLabelPos,
            text_align=TextNode.ACenter,
            text_fg=(0, 0, 0, 1),
            text_shadow=(0, 0, 0, 0),
            text_font=ToontownGlobals.getSuitFont())
        self._titleLabel.setBin('fixed', 1)
        bossCard = self._model.find('**/bossCard')
        self._openDoor = self._model.find('**/doorOpen')
        self._closedDoor = self._model.find('**/doorClosed')
        self._openDoor.stash()
        spacingX = codeFrameWidth + codeFrameGap
        startX = -0.5 * ((self._codeLength - 1) * spacingX - codeFrameGap)
        for i in xrange(self._codeLength):
            marker = CogdoMazeBossCodeFrame(i, self._code[i], bossCard)
            marker.reparentTo(self)
            marker.setPos(bossCard, startX + spacingX * i, 0, 0)
            self._markers.append(marker)

        bossCard.removeNode()
        return
コード例 #36
0
 def buildFrame(self, name, dnaTuple):
     frame = loader.loadModel('phase_3.5/models/modules/trophy_frame')
     dna = ToonDNA.ToonDNA()
     apply(dna.newToonFromProperties, dnaTuple)
     head = ToonHead.ToonHead()
     head.setupHead(dna)
     head.setPosHprScale(0, -0.05, -0.05, 180, 0, 0, 0.55, 0.02, 0.55)
     if dna.head[0] == 'r':
         head.setZ(-0.15)
     elif dna.head[0] == 'h':
         head.setZ(0.05)
     elif dna.head[0] == 'm':
         head.setScale(0.45, 0.02, 0.45)
     head.reparentTo(frame)
     nameText = TextNode('trophy')
     nameText.setFont(ToontownGlobals.getToonFont())
     nameText.setAlign(TextNode.ACenter)
     nameText.setTextColor(0, 0, 0, 1)
     nameText.setWordwrap(5.36 * FrameScale)
     nameText.setText(name)
     namePath = frame.attachNewNode(nameText.generate())
     namePath.setPos(0, -0.03, -.6)
     namePath.setScale(0.186 / FrameScale)
     frame.setScale(FrameScale, 1.0, FrameScale)
     return frame
コード例 #37
0
 def load(self):
     gui = loader.loadModel("phase_3/models/gui/tt_m_gui_mat_mainGui")
     guiBoyUp = gui.find("**/tt_t_gui_mat_boyUp")
     guiBoyDown = gui.find("**/tt_t_gui_mat_boyDown")
     guiGirlUp = gui.find("**/tt_t_gui_mat_girlUp")
     guiGirlDown = gui.find("**/tt_t_gui_mat_girlDown")
     self.boyButton = DirectButton(
         relief=None,
         image=(guiBoyUp, guiBoyDown, guiBoyUp, guiBoyDown),
         image_scale=halfButtonScale,
         image1_scale=halfButtonHoverScale,
         image2_scale=halfButtonHoverScale,
         pos=(-0.4, 0, -0.8),
         command=self.createRandomBoy,
         text=("", TTLocalizer.GenderShopBoyButtonText, TTLocalizer.GenderShopBoyButtonText, ""),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.08,
         text_pos=(0, 0.19),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1),
     )
     self.boyButton.hide()
     self.boyButton.setPos(-0.45, 0, 0.19)
     self.boyButton.reparentTo(base.a2dBottomCenter)
     self.girlButton = DirectButton(
         relief=None,
         image=(guiGirlUp, guiGirlDown, guiGirlUp, guiGirlDown),
         image_scale=halfButtonScale,
         image1_scale=halfButtonHoverScale,
         image2_scale=halfButtonHoverScale,
         pos=(0.4, 0, -0.8),
         command=self.createRandomGirl,
         text=("", TTLocalizer.GenderShopGirlButtonText, TTLocalizer.GenderShopGirlButtonText, ""),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.08,
         text_pos=(0, 0.19),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1),
     )
     self.girlButton.hide()
     self.girlButton.setPos(0.45, 0, 0.19)
     self.girlButton.reparentTo(base.a2dBottomCenter)
     gui.removeNode()
     del gui
     self.toon = None
     return
コード例 #38
0
 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
コード例 #39
0
 def load(self):
     gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui')
     guiBoyUp = gui.find('**/tt_t_gui_mat_boyUp')
     guiBoyDown = gui.find('**/tt_t_gui_mat_boyDown')
     guiGirlUp = gui.find('**/tt_t_gui_mat_girlUp')
     guiGirlDown = gui.find('**/tt_t_gui_mat_girlDown')
     self.boyButton = DirectButton(
         relief=None,
         image=(guiBoyUp, guiBoyDown, guiBoyUp, guiBoyDown),
         image_scale=halfButtonScale,
         image1_scale=halfButtonHoverScale,
         image2_scale=halfButtonHoverScale,
         pos=(-0.4, 0, -0.8),
         command=self.createRandomBoy,
         text=('', TTLocalizer.GenderShopBoyButtonText,
               TTLocalizer.GenderShopBoyButtonText, ''),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.08,
         text_pos=(0, 0.19),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.boyButton.hide()
     self.boyButton.setPos(-0.45, 0, 0.19)
     self.boyButton.reparentTo(base.a2dBottomCenter)
     self.girlButton = DirectButton(
         relief=None,
         image=(guiGirlUp, guiGirlDown, guiGirlUp, guiGirlDown),
         image_scale=halfButtonScale,
         image1_scale=halfButtonHoverScale,
         image2_scale=halfButtonHoverScale,
         pos=(0.4, 0, -0.8),
         command=self.createRandomGirl,
         text=('', TTLocalizer.GenderShopGirlButtonText,
               TTLocalizer.GenderShopGirlButtonText, ''),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.08,
         text_pos=(0, 0.19),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.girlButton.hide()
     self.girlButton.setPos(0.45, 0, 0.19)
     self.girlButton.reparentTo(base.a2dBottomCenter)
     gui.removeNode()
     del gui
     self.toon = None
     return
    def initToonState(self):
        self.setAnimState('neutral', 0.9, None, None)
        self.putOnSuit(ToontownGlobals.cogHQZoneId2deptIndex(self.zoneId), rental=True)

        if self.name in NPCToons.LaffRestockPositions:
            pos = NPCToons.LaffRestockPositions[self.name]
            self.setPos(*pos[0])
            self.setH(pos[1])
コード例 #41
0
    def setFromAvatar(self, av):
        rewardIds = []
        for q in av.quests:
            questId, fromNpcId, toNpcId, rewardId, toonProgress = q
            if rewardId == Quests.NA:
                rewardId = Quests.getFinalRewardId(questId, fAll=1)
            rewardIds.append(rewardId)

        self.notify.debug('Ignoring rewards: %s' % rewardIds)
        self.setRewardIndex(av.rewardTier, rewardIds, av.rewardHistory)
        fishHp = int(len(av.fishCollection) / FishGlobals.FISH_PER_BONUS)
        self.notify.debug('Adding %s hp for fish collection' % fishHp)
        self.maxHp += fishHp
        flowerHp = int(
            len(av.flowerCollection) / GardenGlobals.FLOWERS_PER_BONUS)
        self.notify.debug('Adding %s hp for fish collection' % flowerHp)
        self.maxHp += flowerHp
        HQdepts = (ToontownGlobals.cogHQZoneId2deptIndex(
            ToontownGlobals.SellbotHQ),
                   ToontownGlobals.cogHQZoneId2deptIndex(
                       ToontownGlobals.LawbotHQ),
                   ToontownGlobals.cogHQZoneId2deptIndex(
                       ToontownGlobals.CashbotHQ))
        levels = av.getCogLevels()
        cogTypes = av.getCogTypes()
        suitHp = 0
        for dept in HQdepts:
            level = levels[dept]
            type = cogTypes[dept]
            if type >= SuitDNA.suitsPerDept - 1:
                for milestoneLevel in ToontownGlobals.CogSuitHPLevels:
                    if level >= milestoneLevel:
                        suitHp += 1
                    else:
                        break

        self.notify.debug('Adding %s hp for cog suits' % suitHp)
        self.maxHp += suitHp
        kartingHp = int(
            av.kartingTrophies.count(1) / RaceGlobals.TrophiesPerCup)
        self.notify.debug('Adding %s hp for karting trophies' % kartingHp)
        self.maxHp += kartingHp
        golfHp = int(av.golfTrophies.count(True) / GolfGlobals.TrophiesPerCup)
        self.notify.debug('Adding %s hp for golf trophies' % golfHp)
        self.maxHp += golfHp
コード例 #42
0
    def __initTallyDisplay(self):
        self.__tallyTextNode = TextNode('tally')
        self.__tallyTextNode.setFont(ToontownGlobals.getSignFont())
        self.__tallyTextNode.setAlign(TextNode.ACenter)
        self.tallyMarkers = [None] * self.__numRingGroups
        for i in xrange(0, self.__numRingGroups):
            self.__createTallyMarker(i, self.RT_UNKNOWN)

        return
コード例 #43
0
    def initToonState(self):
        self.setAnimState('neutral', 0.9, None, None)
        self.putOnSuit(ToontownGlobals.cogHQZoneId2deptIndex(self.zoneId),
                       rental=True)

        if self.name in NPCToons.LaffRestockPositions:
            pos = NPCToons.LaffRestockPositions[self.name]
            self.setPos(*pos[0])
            self.setH(pos[1])
コード例 #44
0
 def flipText(flip, label = self.entryList[place - 1][3], timeStr = timeStr, recStr = TTLocalizer.KartRace_Record):
     self.entryList[place - 1][3].configure(text_scale=0.06)
     self.entryList[place - 1][3].configure(text_fg=(0.95, 0.0, 0.0, 1.0))
     if flip:
         self.entryList[place - 1][3].configure(text_font=DGG.getDefaultFont())
         self.entryList[place - 1][3]['text'] = timeStr
     else:
         self.entryList[place - 1][3].configure(text_font=ToontownGlobals.getSignFont())
         self.entryList[place - 1][3]['text'] = recStr
コード例 #45
0
 def load(self):
     self.picture = DirectButton(parent=self, image=(DGG.getDefaultDialogGeom(), DGG.getDefaultDialogGeom(), DGG.getDefaultDialogGeom()), relief=None, command=self.__launchFirework, extraArgs=[self.type], image_color=(0.8, 0.9, 1, 1))
     self.picture.setScale(0.2)
     self.picture.setPos(0, 0, 0)
     self.picture.initialiseoptions(self.picture)
     panelWidth = 7
     nameFont = ToontownGlobals.getInterfaceFont()
     self.quantityLabel = DirectLabel(parent=self.picture, relief=None, pos=(0, 0, 0.0), scale=0.45, text=self.name, text_scale=0.6, text_fg=(0, 0, 0, 1), text_pos=(0, -.14, 0), text_font=nameFont, text_wordwrap=panelWidth)
     return
コード例 #46
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
コード例 #47
0
 def doSpawnTitleText(self, text):
     self.titleColor = (1.0, 0.5, 0.4, 1.0)
     self.titleText = OnscreenText.OnscreenText(text, fg=self.titleColor, font=ToontownGlobals.getSignFont(), pos=(0, -0.5), scale=0.16, drawOrder=0, mayChange=1, wordwrap=16)
     self.titleText.setText(text)
     self.titleText.show()
     self.titleText.setColor(Vec4(*self.titleColor))
     self.titleText.clearColorScale()
     self.titleText.setFg(self.titleColor)
     seq = Sequence(Wait(0.1), Wait(6.0), self.titleText.colorScaleInterval(0.5, Vec4(1.0, 1.0, 1.0, 0.0)), Func(self.hideTitleText))
     seq.start()
コード例 #48
0
 def _createPartyEditorPage(self):
     page = DirectFrame(self.frame)
     page.setName('PartyPlannerEditorPage')
     self.LayoutTitleLabel = DirectLabel(parent=page, relief=None, text=TTLocalizer.PartyPlannerEditorTitle, pos=self.gui.find('**/title_locator').getPos() + Point3(0.0, 0.0, 0.075), scale=self.titleScale)
     self.costLabel = DirectLabel(parent=page, pos=(-0.74, 0.0, 0.17), relief=None, text=TTLocalizer.PartyPlannerTotalCost % 0, text_align=TextNode.ACenter, scale=TTLocalizer.PPcostLabel, textMayChange=True)
     self.partyGridBackground = DirectFrame(parent=page, relief=None, geom=self.gui.find('**/partyGrid_flat'))
     self.partyGroundsLabel = DirectLabel(parent=page, relief=None, text=TTLocalizer.PartyPlannerPartyGrounds, text_font=ToontownGlobals.getSignFont(), text_fg=VBase4(1.0, 0.0, 0.0, 1.0), text_scale=TTLocalizer.PPpartyGroundsLabel, pos=self.gui.find('**/step_05_partyGrounds_text_locator').getPos(), scale=0.1)
     self.activityBackground = DirectFrame(parent=page, relief=None, geom=self.gui.find('**/activitiesDecorations_flat1'), pos=(0.0, 0.0, 0.04))
     pos = self.gui.find('**/step_05_instructions_locator').getPos()
     self.instructionLabel = DirectLabel(parent=page, relief=None, text=' ', text_pos=(pos[0], pos[2]), text_scale=TTLocalizer.PPinstructionLabel, textMayChange=True, geom=self.gui.find('**/instructions_flat'))
     self.elementTitleLabel = DirectLabel(parent=page, relief=None, text=' ', pos=self.gui.find('**/step_05_activitiesName_text_locator').getPos() + Point3(0.0, 0.0, 0.04), text_scale=TTLocalizer.PPelementTitleLabel, textMayChange=True)
     self.elementPriceNode = TextNode('ElementPrice')
     self.elementPriceNode.setAlign(TextNode.ALeft)
     self.elementPriceNode.setTextColor(0.0, 0.0, 0.0, 1.0)
     self.elementPriceNode.setFont(ToontownGlobals.getToonFont())
     self.elementPrice = page.attachNewNode(self.elementPriceNode)
     self.elementPrice.setScale(TTLocalizer.PPelementPriceNode)
     self.elementPrice.setPos(self.gui.find('**/step_05_activityPrice_text_locator').getPos() + Point3(-0.02, 0.0, 0.04))
     self.elementDescriptionNode = TextNode('ElementDescription')
     self.elementDescriptionNode.setAlign(TextNode.ACenter)
     self.elementDescriptionNode.setWordwrap(8)
     self.elementDescriptionNode.setFont(ToontownGlobals.getToonFont())
     self.elementDescriptionNode.setTextColor(0.0, 0.0, 0.0, 1.0)
     self.elementDescription = page.attachNewNode(self.elementDescriptionNode)
     self.elementDescription.setScale(TTLocalizer.PPelementDescription)
     self.elementDescription.setPos(self.gui.find('**/step_05_activityDescription_text_locator').getPos() + Point3(0.0, 0.0, 0.04))
     self.totalMoney = base.localAvatar.getTotalMoney()
     catalogGui = loader.loadModel('phase_5.5/models/gui/catalog_gui')
     self.beanBank = DirectLabel(parent=page, relief=None, text=str(self.totalMoney), text_align=TextNode.ARight, text_scale=0.075, text_fg=(0.95, 0.95, 0, 1), text_shadow=(0, 0, 0, 1), text_pos=(0.495, -0.53), text_font=ToontownGlobals.getSignFont(), textMayChange=True, image=catalogGui.find('**/bean_bank'), image_scale=(0.65, 0.65, 0.65), scale=0.9, pos=(-0.75, 0.0, 0.6))
     catalogGui.removeNode()
     del catalogGui
     self.accept(localAvatar.uniqueName('moneyChange'), self.__moneyChange)
     self.accept(localAvatar.uniqueName('bankMoneyChange'), self.__moneyChange)
     self.partyEditor = PartyEditor(self, page)
     self.partyEditor.request('Hidden')
     pos = self.gui.find('**/step_05_add_text_locator').getPos()
     self.elementBuyButton = DirectButton(parent=page, relief=None, text=TTLocalizer.PartyPlannerBuy, text_pos=(pos[0], pos[2]), text_scale=TTLocalizer.PPelementBuyButton, geom=(self.gui.find('**/add_up'), self.gui.find('**/add_down'), self.gui.find('**/add_rollover')), geom3_color=VBase4(0.5, 0.5, 0.5, 1.0), textMayChange=True, pos=(0.0, 0.0, 0.04), command=self.partyEditor.buyCurrentElement)
     self.okWithPartyGroundsLayoutEvent = 'okWithPartyGroundsLayoutEvent'
     self.accept(self.okWithPartyGroundsLayoutEvent, self.okWithPartyGroundsLayout)
     self.okWithGroundsGui = TTDialog.TTGlobalDialog(dialogName=self.uniqueName('PartyEditorOkGui'), doneEvent=self.okWithPartyGroundsLayoutEvent, message=TTLocalizer.PartyPlannerOkWithGroundsLayout, style=TTDialog.YesNo, okButtonText=OTPLocalizer.DialogYes, cancelButtonText=OTPLocalizer.DialogNo)
     self.okWithGroundsGui.doneStatus = ''
     self.okWithGroundsGui.hide()
     return page
コード例 #49
0
 def startCountdownClock(self, countdownTime, ts):
     self.clockNode = TextNode("elevatorClock")
     self.clockNode.setFont(ToontownGlobals.getSignFont())
     self.clockNode.setAlign(TextNode.ACenter)
     self.clockNode.setTextColor(0.5, 0.5, 0.5, 1)
     self.clockNode.setText(str(int(countdownTime)))
     self.clock = self.getElevatorModel().attachNewNode(self.clockNode)
     self.clock.setPosHprScale(0, 2.0, 7.5, 0, 0, 0, 2.0, 2.0, 2.0)
     if ts < countdownTime:
         self.countdown(countdownTime - ts)
コード例 #50
0
 def startTimer(self):
     self.clockNode = TextNode('elevatorClock')
     self.clockNode.setFont(ToontownGlobals.getSignFont())
     self.clockNode.setAlign(TextNode.ACenter)
     self.clockNode.setTextColor(0.5, 0.5, 0.5, 1)
     self.clockNode.setText(str(int(self.countdownDuration)))
     self.clock = aspect2d.attachNewNode(self.clockNode)
     self.clock.setPos(0, 0, -0.6)
     self.clock.setScale(0.15, 0.15, 0.15)
     self.__countdown(self.countdownDuration, self.__boardingElevatorTimerExpired)
コード例 #51
0
 def getSignTextNodes(self, nodeName, font = ToontownGlobals.getSignFont()):
     signTextNode = TextNode(nodeName)
     signTextNode.setFont(font)
     signTextNode.setAlign(TextNode.ACenter)
     signTextNode.setTextColor(0.5, 0.5, 0.5, 1)
     signTextNodepath = self.tunnelSign.attachNewNode(signTextNode)
     signTextNodepath.setPos(0, 0.25, 0)
     signTextNodepath.setH(165.0)
     signTextNodepath.setDepthWrite(0)
     return (signTextNode, signTextNodepath)
コード例 #52
0
 def __init__(self, doneEvent, kartNum):
     self.kartNum = kartNum
     self.modelScale = 1
     model = loader.loadModel('phase_6/models/gui/ConfirmBuyKartPanel')
     kartInfo = getKartTypeInfo(kartNum)
     name = kartInfo[KartInfo.name]
     cost = kartInfo[KartInfo.cost]
     DirectFrame.__init__(
         self,
         relief=None,
         state='normal',
         geom=model,
         geom_scale=self.modelScale,
         frameSize=(-1, 1, -1, 1),
         pos=(0, 0, -0.01),
         text=TTLocalizer.KartShop_ConfirmBuy % (name, cost),
         text_wordwrap=11,
         text_scale=KS_TEXT_SIZE_SMALL,
         text_pos=(0, -0.26))
     self.initialiseoptions(KartShopGuiMgr.ConfirmBuyKartDlg)
     self.ticketDisplay = DirectLabel(
         parent=self,
         relief=None,
         text=str(base.localAvatar.getTickets()),
         text_scale=KS_TEXT_SIZE_SMALL,
         text_fg=(0.95, 0.95, 0.0, 1.0),
         text_shadow=(0, 0, 0, 1),
         text_pos=(0.43, -0.5),
         text_font=ToontownGlobals.getSignFont())
     self.cancelButton = DirectButton(
         parent=self,
         relief=None,
         image=(model.find('**/CancelButtonUp'), model.find('**/CancelButtonDown'), model.find('**/CancelButtonRollover')),
         geom=model.find('**/CancelIcon'),
         scale=self.modelScale,
         pressEffect=False,
         command=lambda : messenger.send(doneEvent, [CBK_OPTIONS.Cancel]))
     self.okButton = DirectButton(
         parent=self,
         relief=None,
         image=(model.find('**/CheckButtonUp'), model.find('**/CheckButtonDown'), model.find('**/CheckButtonRollover')),
         geom=model.find('**/CheckIcon'),
         scale=self.modelScale,
         pressEffect=False,
         command=lambda : messenger.send(doneEvent, [CBK_OPTIONS.BuyKart]))
     self.kartView = KartViewer([self.kartNum, -1, -1, -1, -1, -1, -1, -1, -1], parent=self)
     self.kartView.setPos(model.find('**/KartViewerFrame').getPos())
     self.kartView.load(model, 'KartViewerFrame', [], [], None)
     self.kartView.setBounds(-0.38, 0.38, -.0425, 0.49)
     self.kartView.setBgColor(1.0, 1.0, 0.8, 1.0)
     self.initialize = True
     self.kartView.show()
     model.removeNode()
     return
コード例 #53
0
 def makeTextNodes(self):
     self.notify.debugStateCall(self)
     self.trackNameNode, trackNameNodePath = self.getSignTextNodes('trackNameNode')
     trackNameNodePath.setZ(0.7)
     trackNameNodePath.setScale(0.875)
     trackNameNodePath.flattenLight()
     self.trackTypeNode, trackTypeNodePath = self.getSignTextNodes('trackTypeNode')
     trackTypeNodePath.setZ(-0.35)
     trackTypeNodePath.setScale(0.875)
     trackTypeNodePath.flattenLight()
     self.depositNode, depositNodePath = self.getSignTextNodes('depositNode', ToontownGlobals.getToonFont())
     self.depositNode.setTextColor(0, 0, 0, 1)
     depositNodePath.setPos(4.0, -1.0, -2.0)
     depositNodePath.setScale(0.75)
     depositNodePath.flattenLight()
     self.qualifyNode, qualifyNodePath = self.getSignTextNodes('qualifyNode', ToontownGlobals.getToonFont())
     self.qualifyNode.setTextColor(0, 0, 0, 1)
     qualifyNodePath.setPos(-4.0, 1.2, -2.0)
     qualifyNodePath.setScale(0.75)
     qualifyNodePath.flattenLight()
コード例 #54
0
 def showDebugPointText(self, text, point):
     if not hasattr(self, 'debugText'):
         self.debugText = self.loader.geom.attachNewNode('debugText')
         self.debugTextNode = TextNode('debugTextNode')
         self.debugTextNode.setTextColor(1, 0, 0, 1)
         self.debugTextNode.setAlign(TextNode.ACenter)
         self.debugTextNode.setFont(ToontownGlobals.getSignFont())
     self.debugTextNode.setText(text)
     np = self.debugText.attachNewNode(self.debugTextNode.generate())
     np.setPos(point[0], point[1], point[2])
     np.setScale(4.0)
     np.setBillboardPointEye()