コード例 #1
0
 def _createWelcomePage(self):
     self.nametagGroup = None
     page = DirectFrame(self.frame)
     page.setName('PartyPlannerWelcomePage')
     self.welcomeTitleLabel = DirectLabel(
         parent=page,
         relief=None,
         text=TTLocalizer.PartyPlannerWelcomeTitle,
         pos=self.gui.find('**/title_locator').getPos(),
         scale=self.titleScale)
     self.partyPlannerHead = ToonHead.ToonHead()
     partyPlannerStyle = base.cr.partyManager.getPartyPlannerStyle()
     self.partyPlannerHead.setupHead(partyPlannerStyle, forGui=True)
     self.partyPlannerHead.setPos(
         self.gui.find('**/step_01_partymanPete_locator').getPos())
     animal = partyPlannerStyle.getAnimal()
     if animal == 'cat' or animal == 'pig':
         headScale = 0.4
     elif animal == 'dog' or animal == 'bear':
         headScale = 0.45
     elif animal == 'rabbit':
         headScale = 0.35
     else:
         headScale = 0.3
     self.partyPlannerHead.setScale(headScale)
     self.partyPlannerHead.setH(180.0)
     self.partyPlannerHead.reparentTo(page)
     self.__createNametag(page)
     return page
コード例 #2
0
 def _createFarewellPage(self):
     page = DirectFrame(self.frame)
     page.setName('PartyPlannerFarewellPage')
     self.confirmTitleLabel = DirectLabel(
         parent=page,
         relief=None,
         text=TTLocalizer.PartyPlannerConfirmationAllOkTitle,
         textMayChange=True,
         pos=self.gui.find('**/title_locator').getPos(),
         scale=self.titleScale)
     pos = self.gui.find('**/step_07_close_text_locator').getPos()
     self.closePlannerButton = DirectButton(
         parent=page,
         relief=None,
         geom=(self.gui.find('**/close_up'), self.gui.find('**/close_down'),
               self.gui.find('**/close_rollover')),
         text=TTLocalizer.PartyPlannerClosePlanner,
         text_scale=0.055,
         text_pos=(pos[0], pos[2]),
         command=self.__acceptExit)
     return page
コード例 #3
0
 def load(self):
     self.frame = DirectFrame(parent=aspect2d,
                              geom=self.gui.find('**/background'),
                              relief=None,
                              scale=0.85,
                              pos=(0.05, 0.0, 0.1))
     self.titleScale = TTLocalizer.PPtitleScale
     self._createNavButtons()
     self.welcomePage = self._createWelcomePage()
     self.welcomePage.hide()
     self.datePage = self._createDatePage()
     self.datePage.hide()
     self.timePage = self._createTimePage()
     self.timePage.hide()
     self.guestPage = self._createGuestPage()
     self.guestPage.hide()
     self.partyEditorPage = self._createPartyEditorPage()
     self.partyEditorPage.hide()
     self.invitationPage = self._createInvitationPage()
     self.invitationPage.hide()
     self.farewellPage = self._createFarewellPage()
     self.farewellPage.hide()
コード例 #4
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)
     return page
コード例 #5
0
    def _createGuestPage(self):
        page = DirectFrame(self.frame)
        page.setName('PartyPlannerGuestPage')
        self.guestTitleLabel = DirectLabel(
            parent=page,
            relief=None,
            text=TTLocalizer.PartyPlannerGuestTitle,
            pos=self.gui.find('**/title_locator').getPos(),
            scale=self.titleScale)
        self.guestBackgroundLabel = DirectLabel(
            parent=page,
            relief=None,
            image=self.gui.find('**/guestListBackground_flat'),
            scale=(1.2, 1.0, 1.0))
        self.friendList = ScrolledFriendList(page,
                                             self.gui,
                                             makeItemsCheckBoxes=True)
        if len(base.localAvatar.friendsList) == 0:
            self.noFriends = True
        else:
            self.noFriends = False
            for friendPair in base.localAvatar.friendsList:
                self.friendList.addFriend(determineFriendName(friendPair),
                                          friendPair[0])

            self.friendList.scrollTo(0)
        pos = self.gui.find('**/step_04_partyWillBe_locator').getPos()
        self.publicPrivateLabel = DirectLabel(
            parent=page,
            relief=None,
            text=TTLocalizer.PartyPlannerPublicPrivateLabel,
            text_align=TextNode.ACenter,
            text_scale=0.065,
            pos=pos)
        self.publicDescriptionLabel = DirectLabel(
            parent=page,
            relief=None,
            text=TTLocalizer.PartyPlannerPublicDescription,
            text_align=TextNode.ACenter,
            text_scale=TTLocalizer.PPpbulicDescriptionLabel,
            pos=(pos[0] - 0.52, pos[1], pos[2]))
        self.publicDescriptionLabel.stash()
        self.privateDescriptionLabel = DirectLabel(
            parent=page,
            relief=None,
            text=TTLocalizer.PartyPlannerPrivateDescription,
            text_align=TextNode.ACenter,
            text_scale=TTLocalizer.PPprivateDescriptionLabel,
            pos=(pos[0] + 0.55, pos[1], pos[2]))
        self.privateDescriptionLabel.stash()
        pos = self.gui.find('**/step_04_public_locator').getPos()
        self.publicButton = DirectButton(
            parent=page,
            relief=None,
            geom=(self.gui.find('**/publicButton_up'),
                  self.gui.find('**/publicButton_down'),
                  self.gui.find('**/publicButton_rollover'),
                  self.gui.find('**/publicButton_inactive')),
            text=TTLocalizer.PartyPlannerPublic,
            text_pos=(pos[0], pos[2]),
            text_scale=TTLocalizer.PPpublicButton,
            command=self.__doTogglePublicPrivate)
        self.publicButton['state'] = DirectGuiGlobals.DISABLED
        self.publicButton.bind(DirectGuiGlobals.ENTER, self.__enterPublic)
        self.publicButton.bind(DirectGuiGlobals.EXIT, self.__exitPublic)
        pos = self.gui.find('**/step_04_private_locator').getPos()
        self.privateButton = DirectButton(
            parent=page,
            relief=None,
            geom=(self.gui.find('**/privateButton_up'),
                  self.gui.find('**/privateButton_down'),
                  self.gui.find('**/privateButton_rollover'),
                  self.gui.find('**/privateButton_inactive')),
            text=TTLocalizer.PartyPlannerPrivate,
            text_pos=(pos[0], pos[2]),
            text_scale=TTLocalizer.PPprivateButton,
            command=self.__doTogglePublicPrivate)
        self.privateButton.bind(DirectGuiGlobals.ENTER, self.__enterPrivate)
        self.privateButton.bind(DirectGuiGlobals.EXIT, self.__exitPrivate)
        self.checkAllButton = DirectButton(
            parent=page,
            relief=None,
            geom=(self.gui.find('**/checkAllButton_up'),
                  self.gui.find('**/checkAllButton_down'),
                  self.gui.find('**/checkAllButton_rollover')),
            command=self.__doCheckAll)
        self.uncheckAllButton = DirectButton(
            parent=page,
            relief=None,
            geom=(self.gui.find('**/uncheckAllButton_up'),
                  self.gui.find('**/uncheckAllButton_down'),
                  self.gui.find('**/uncheckAllButton_rollover')),
            command=self.__doUncheckAll)
        return page
コード例 #6
0
 def _createTimePage(self):
     page = DirectFrame(self.frame)
     page.setName('PartyPlannerTimePage')
     self.createTimeTitleLabel = DirectLabel(
         parent=page,
         relief=None,
         text=TTLocalizer.PartyPlannerTimeTitle,
         pos=self.gui.find('**/title_locator').getPos(),
         scale=self.titleScale)
     self.clockImage = DirectFrame(
         parent=page,
         relief=None,
         geom=self.gui.find('**/toontownTime_background'))
     self.timePageToontownLabel = DirectLabel(
         parent=page,
         relief=None,
         text=TTLocalizer.PartyPlannerTimeToontown,
         pos=self.gui.find('**/step_03_toontown_locator').getPos(),
         scale=0.15,
         text_fg=(1.0, 0.0, 0.0, 1.0),
         text_font=ToontownGlobals.getSignFont())
     self.timePageTimeLabel = DirectLabel(
         parent=page,
         relief=None,
         text=TTLocalizer.PartyPlannerTimeTime,
         pos=self.gui.find('**/step_03_time_locator').getPos(),
         scale=0.15,
         text_fg=(1.0, 0.0, 0.0, 1.0),
         text_font=ToontownGlobals.getSignFont())
     self.timePageRecapLabel = DirectLabel(
         parent=page,
         relief=None,
         text=TTLocalizer.PartyPlannerTimeRecap,
         pos=self.gui.find('**/step_03_partyDateAndTime_locator').getPos(),
         scale=0.09)
     self.timePageRecapToontownTimeLabel1 = DirectLabel(
         parent=page,
         relief=None,
         text=TTLocalizer.PartyPlannerTimeToontownTime,
         pos=self.gui.find('**/step_03_toontownTime_locator').getPos(),
         scale=0.06)
     self.timePageRecapToontownTimeLabel2 = DirectLabel(
         parent=page,
         relief=None,
         text='%s' % PartyUtils.formatDateTime(self.partyTime),
         pos=self.gui.find(
             '**/step_03_toontownDateAndTime_loactor').getPos(),
         textMayChange=True,
         scale=0.06)
     self.timePageRecapLocalTimeLabel = DirectLabel(
         parent=page,
         relief=None,
         text='%s%s' %
         (TTLocalizer.PartyPlannerTimeLocalTime,
          PartyUtils.formatDateTime(self.partyTime, inLocalTime=True)),
         pos=self.gui.find('**/step_03_localDateAndTime_loactor').getPos(),
         textMayChange=True,
         scale=0.06,
         text_fg=(1.0, 0.0, 0.0, 1.0))
     self.timeInputHourLabel, self.timeInputHourUpButton, self.timeInputHourDownButton = self.getTimeWidgets(
         page, 'hour')
     self.timeInputMinuteLabel, self.timeInputMinuteUpButton, self.timeInputMinuteDownButton = self.getTimeWidgets(
         page, 'minute')
     self.timeInputAmPmLabel, self.timeInputAmPmUpButton, self.timeInputAmPmDownButton = self.getTimeWidgets(
         page, 'ampm')
     self.timePagecolonLabel = DirectLabel(
         parent=page,
         relief=None,
         text=':',
         pos=self.gui.find('**/step_03_colon_locator').getPos(),
         scale=0.15)
     return page
コード例 #7
0
 def load(self):
     if self.isLoaded():
         return
     guiNode = loader.loadModel('phase_13/models/parties/jukeboxGUI')
     self._timerGui = PartyUtils.getNewToontownTimer()
     self._windowFrame = DirectFrame(image=guiNode.find('**/background'),
                                     relief=None,
                                     pos=(0, 0, 0),
                                     scale=0.7)
     self._songFrame = DirectFrame(
         image=guiNode.find('**/songTitle_background'),
         parent=self._windowFrame,
         relief=None)
     self._currentlyPlayingLabel = self.__createLabel(
         guiNode,
         'currentlyPlaying',
         parent=self._windowFrame,
         text=TTLocalizer.JukeboxCurrentlyPlayingNothing,
         scale=TTLocalizer.JGcurrentlyPlayingLabel)
     self._songNameLabel = self.__createLabel(
         guiNode,
         'songName',
         parent=self._windowFrame,
         text=TTLocalizer.JukeboxCurrentSongNothing,
         scale=TTLocalizer.JGsongNameLabel)
     self._queueList, self._queueLabel = self.__createLabeledScrolledList(
         guiNode,
         'queue',
         label=TTLocalizer.JukeboxQueueLabel,
         parent=self._windowFrame)
     self._songsList, self._songsLabel = self.__createLabeledScrolledList(
         guiNode,
         'songs',
         label=TTLocalizer.JukeboxSongsLabel,
         parent=self._windowFrame)
     pos = guiNode.find('**/addButton_text_locator').getPos()
     self._addSongButton = self.__createButton(
         guiNode,
         'addSongButton',
         parent=self._windowFrame,
         command=self.__handleAddSongButtonClick,
         image3_color=Vec4(0.6, 0.6, 0.6, 0.6),
         text=TTLocalizer.JukeboxAddSong,
         text_align=TextNode.ACenter,
         text_pos=(pos[0], pos[2]),
         text_scale=TTLocalizer.JGaddSongButton)
     self._closeButton = self.__createButton(
         guiNode,
         'can_cancelButton',
         parent=self._windowFrame,
         command=self.__handleCloseButtonClick)
     pos = guiNode.find('**/close_text_locator').getPos()
     self._closeButton = self.__createButton(
         guiNode,
         'close',
         parent=self._windowFrame,
         command=self.__handleCloseButtonClick,
         text=TTLocalizer.JukeboxClose,
         text_align=TextNode.ACenter,
         text_pos=(pos[0], pos[2]),
         text_scale=0.08)
     self._moveToTopButton = self.__createButton(
         guiNode, 'moveToTop', command=self.__handleMoveToTopButtonClick)
     guiNode.removeNode()
     self._loaded = True