Пример #1
0
 def _createDatePage(self):
     page = DirectFrame(self.frame)
     page.setName('PartyPlannerDatePage')
     self.createDateTitleLabel = DirectLabel(
         parent=page,
         relief=None,
         text=TTLocalizer.PartyPlannerDateTitle,
         pos=self.gui.find('**/title_locator').getPos(),
         scale=self.titleScale)
     pos = self.gui.find('**/step_06_sendInvitation_locator').getPos()
     self.makePartyNowButton = DirectButton(
         parent=page,
         relief=None,
         geom=(self.gui.find('**/send_up'), self.gui.find('**/send_down'),
               self.gui.find('**/send_rollover')),
         text=TTLocalizer.PartyPlannerPartyNow,
         text_pos=(pos[0], pos[2]),
         text_scale=0.05,
         command=self.__doMakePartyNow)
     curServerDate = base.cr.toontownTimeManager.getCurServerDateTime()
     self.calendarGuiMonth = CalendarGuiMonth(
         page,
         curServerDate,
         scale=0.95,
         pos=(-0.05, 0.0, -0.33),
         dayClickCallback=self._dayClickCallback,
         onlyFutureDaysClickable=True)
     return page
Пример #2
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
Пример #3
0
 def _createInvitationPage(self):
     self.__handleHolidays()
     page = DirectFrame(self.frame)
     page.setName('PartyPlannerInvitationPage')
     self.invitationTitleLabel = DirectLabel(
         parent=page,
         relief=None,
         text=TTLocalizer.PartyPlannerConfirmTitle,
         textMayChange=True,
         pos=self.gui.find('**/title_locator').getPos(),
         scale=self.titleScale)
     self.invitationBackground = DirectFrame(
         parent=page,
         relief=None,
         geom=self.gui.find('**/invitationBackground'))
     self.inviteVisual = InviteVisual(page)
     self.selectedInviteThemeLabel = DirectLabel(
         parent=page,
         relief=None,
         pos=self.gui.find('**/step_06_theme_locator').getPos(),
         text='',
         text_scale=0.06,
         textMayChange=True)
     self.nextThemeButton = DirectButton(
         parent=page,
         relief=None,
         geom=(self.gui.find('**/topNext_button/nextButton_up'),
               self.gui.find('**/topNext_button/nextButton_down'),
               self.gui.find('**/topNext_button/nextButton_rollover')),
         command=self.__nextTheme)
     self.prevThemeButton = DirectButton(
         parent=page,
         relief=None,
         geom=(self.gui.find('**/topPrevious_button/previousButton_up'),
               self.gui.find('**/topPrevious_button/previousButton_down'),
               self.gui.find(
                   '**/topPrevious_button/previousButton_rollover')),
         command=self.__prevTheme)
     pos = self.gui.find('**/step_06_sendInvitation_locator').getPos()
     self.inviteButton = DirectButton(
         parent=page,
         relief=None,
         geom=(self.gui.find('**/send_up'), self.gui.find('**/send_down'),
               self.gui.find('**/send_rollover')),
         text=TTLocalizer.PartyPlannerInviteButton,
         textMayChange=True,
         text_scale=0.05,
         text_pos=(pos[0], pos[2]),
         command=self.__handleComplete)
     return page
Пример #4
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
Пример #5
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
Пример #6
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
Пример #7
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