def createGui(self):
        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=TTLocalizer.GloveGuiNotice % ToontownGlobals.GloveCost,
                      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=(self.shuffleUp, self.shuffleDown),
                         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.handleBuy)

        self.cancelButton = DirectButton(aspect2d, relief=None, image=(self.shuffleUp, self.shuffleDown),
                            text=TTLocalizer.GloveGuiCancel, 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.leave)

        self.leftButton = DirectButton(aspect2d, relief=None, image=(self.shuffleArrowUp, self.shuffleArrowDown),
                          pos=(-0.60, 0, -0.66), command=self.handleSetIndex, extraArgs=[-1])

        self.rightButton = DirectButton(aspect2d, relief=None, image=(self.shuffleArrowUp, self.shuffleArrowDown),
                           pos=(0.60, 0, -0.66), scale=-1, command=self.handleSetIndex, extraArgs=[1])

        self.updateGuiByIndex()
示例#2
0
 def displayAchievement(self):
     currentAchievement = AchievementsGlobals.AchievementImages[
         self.currentShowingAward]
     self.frame = DirectFrame(relief=None,
                              geom='phase_3/models/gui/dialog_box_gui',
                              geom_scale=(1.5, 0.5, 0.5),
                              scale=(1, 1, 1),
                              parent=self,
                              pos=(0, 0, 0.7))
     self.image = DirectFrame(relief=None,
                              image=currentAchievement,
                              scale=0.2,
                              parent=self.frame)
     self.image.setTransparency(TransparencyAttrib.MAlpha)
     self.title = DirectLabel(parent=self.frame,
                              relief=None,
                              pos=(0, 0, 0.2),
                              text=TTLocalizer.EarnedAchievement,
                              text_scale=0.08,
                              text_font=ToontownGlobals.getInterfaceFont())
     self.achievementName = DirectLabel(
         parent=self.frame,
         relief=None,
         pos=(0, 0, 0.1),
         text=TTLocalizer.Achievements[self.currentShowingAward],
         text_scale=0.07,
         text_font=ToontownGlobals.getMinnieFont())
     self.details = DirectLabel(
         parent=self.frame,
         relief=None,
         pos=(0, 0, -0.2),
         text=TTLocalizer.AchievementsDesc[self.currentShowingAward],
         text_scale=0.05,
         text_font=ToontownGlobals.getInterfaceFont())
示例#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()
 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.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()
     gui.removeNode()
     del gui
     self.toon = None
     return
示例#5
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.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()
     gui.removeNode()
     del gui
     self.toon = None
     return
示例#6
0
    def __init__(self, player):

        self.player = player

        self.root = NodePath("CogdoFlyingGui")
        self.root.reparentTo(aspect2d)

        self.fuelMeter = NodePath("scrubMeter")
        self.fuelMeter.reparentTo(self.root)
        self.fuelMeter.setPos(1.1, 0.0, -0.7)
        self.fuelMeter.setSz(2.0)

        cm = CardMaker('card')
        cm.setFrame(-0.07, 0.07, 0.0, 0.75)
        self.fuelMeterBar = self.fuelMeter.attachNewNode(cm.generate())
        self.fuelMeterBar.setColor(0.95, 0.95, 0.0, 1.0)

        self.fuelLabel = DirectLabel(
            parent=self.root,
            relief=None,
            pos=(1.1, 0, -0.8),
            scale=0.075,
            text="Fuel",
            text_fg=(0.95, 0.95, 0, 1),
            text_shadow=(0, 0, 0, 1),
            text_font=ToontownGlobals.getInterfaceFont(),
        )

        self.messageLabel = DirectLabel(
            parent=self.root,
            relief=None,
            pos=(0.0, 0.0, -0.9),
            scale=0.1,
            text="                ",
            text_align=TextNode.ACenter,
            text_fg=(0.95, 0.95, 0, 1),
            text_shadow=(0, 0, 0, 1),
            text_font=ToontownGlobals.getInterfaceFont(),
            textMayChange=1,
        )
        self.messageLabel.stash()

        self.winLabel = DirectLabel(
            parent=self.root,
            relief=None,
            pos=(0.0, 0.0, 0.0),
            scale=0.25,
            text="You win!",
            text_align=TextNode.ACenter,
            text_fg=(0.95, 0.95, 0, 1),
            text_shadow=(0, 0, 0, 1),
            text_font=ToontownGlobals.getInterfaceFont(),
        )
        self.winLabel.stash()

        self.refuelLerp = LerpFunctionInterval(self.fuelMeterBar.setSz,
                                               fromData=0.0,
                                               toData=1.0,
                                               duration=2.0)
示例#7
0
 def load(self):
     self.weight = DirectLabel(parent=self,
                               pos=(0, 0, -0.28000000000000003),
                               relief=None,
                               state=DGG.NORMAL,
                               text='',
                               text_scale=0.050000000000000003,
                               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.34999999999999998),
                              relief=None,
                              state=DGG.NORMAL,
                              text='',
                              text_scale=0.050000000000000003,
                              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.025000000000000001, 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.20000000000000001,
                                            0.80000000000000004,
                                            0.40000000000000002, 1),
                                   text_font=ToontownGlobals.getSignFont(),
                                   text_scale=0.080000000000000002,
                                   pos=(0, 0, 0.26000000000000001))
     buttons = loader.loadModel('phase_3/models/gui/dialog_box_buttons_gui')
     self.cancel = DirectButton(parent=self,
                                pos=(0.27500000000000002, 0, -0.375),
                                relief=None,
                                state=DGG.NORMAL,
                                image=(buttons.find('**/CloseBtn_UP'),
                                       buttons.find('**/CloseBtn_DN'),
                                       buttons.find('**/CloseBtn_Rllvr')),
                                image_scale=(0.59999999999999998, 1,
                                             0.59999999999999998),
                                command=self.handleCancel)
     buttons.removeNode()
     self.photo = FishPhoto.FishPhoto(parent=self)
     self.update(self.fish)
示例#8
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=TTLocalizer.FPvaluePos,
                              relief=None,
                              state=DGG.NORMAL,
                              text='',
                              text_scale=TTLocalizer.FPvalue,
                              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 = FlowerPhoto.FlowerPhoto(parent=self)
     self.update(self.flower)
     return
示例#9
0
    def load(self):
        """
        Load all the assets pertaining to the gender selection.
        """
        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")

        # Create Random Boy Button
        self.boyButton = DirectButton(
            relief=None,
            image=(guiBoyUp, guiBoyDown, guiBoyUp, guiBoyDown),
            # buttonScale is defined in MakeAToonGlobals
            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()

        # Create Random Girl Button
        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()

        gui.removeNode()
        del gui

        self.toon = None
    def __init__(self):
        DirectObject.__init__(self)
        FSM.__init__(self, self.__class__.__name__)

        self.label = OnscreenText(
            '', parent=hidden, font=ToontownGlobals.getMinnieFont(),
            fg=Vec4(1, 1, 1, 1), scale=0.06, align=TextNode.ACenter,
            wordwrap=35)
        self.label.setColorScale(Vec4(0, 0, 0, 0))

        gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui.bam')
        shuffleUp = gui.find('**/tt_t_gui_mat_shuffleUp')
        shuffleDown = gui.find('**/tt_t_gui_mat_shuffleDown')
        okUp = gui.find('**/tt_t_gui_mat_okUp')
        okDown = gui.find('**/tt_t_gui_mat_okDown')
        closeUp = gui.find('**/tt_t_gui_mat_closeUp')
        closeDown = gui.find('**/tt_t_gui_mat_closeDown')
        gui.removeNode()
        del gui

        self.exitButton = DirectButton(
            parent=hidden, relief=None,
            image=(shuffleUp, shuffleDown, shuffleUp),
            image_scale=(0.6, 0.6, 0.6), image1_scale=(0.63, 0.6, 0.6),
            image2_scale=(0.63, 0.6, 0.6),
            text=(TTLocalizer.IntroExitButton, TTLocalizer.IntroExitButton,
                  TTLocalizer.IntroExitButton, ''),
            text_font=ToontownGlobals.getInterfaceFont(),
            text_scale=TTLocalizer.SBshuffleBtn, text_pos=(0, -0.02),
            text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1))

        self.yesButton = DirectButton(
            parent=hidden, relief=None, image=(okUp, okDown, okUp, okDown),
            image_scale=(0.6, 0.6, 0.6), image1_scale=(0.7, 0.7, 0.7),
            image2_scale=(0.7, 0.7, 0.7),
            text=('', TTLocalizer.IntroYesButton, TTLocalizer.IntroYesButton),
            text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08,
            text_align=TextNode.ACenter, text_pos=(0, -0.175),
            text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1))
        self.noButton = DirectButton(
            parent=hidden, relief=None,
            image=(closeUp, closeDown, closeUp, closeDown),
            image_scale=(0.6, 0.6, 0.6), image1_scale=(0.7, 0.7, 0.7),
            image2_scale=(0.7, 0.7, 0.7),
            text=('', TTLocalizer.IntroNoButton, TTLocalizer.IntroNoButton),
            text_font=ToontownGlobals.getInterfaceFont(), text_scale=0.08,
            text_align=TextNode.ACenter, text_pos=(0, -0.175),
            text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1))

        self.disclaimerTrack = None
        self.presentsTrack = None
 def __init__(self):
     self.__expectedCount = 0
     self.__count = 0
     self.textures = [
         (loader.loadTexture('phase_3.5/maps/loading/toon.jpg'),
          ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1)),
         (loader.loadTexture('phase_3.5/maps/loading/cog.jpg'),
          ToontownGlobals.getSuitFont(), (1.0, 1.0, 1.0, 1)),
         (loader.loadTexture('phase_3.5/maps/loading/default.jpg'),
          ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1))
     ]
     self.gui = loader.loadModel(
         'phase_3/models/gui/progress-background.bam')
     self.title = DirectLabel(guiId='ToontownLoadingScreenTitle',
                              parent=self.gui,
                              relief=None,
                              pos=(base.a2dRight / 5, 0, 0.235),
                              text='',
                              textMayChange=1,
                              text_scale=0.08,
                              text_fg=(0, 0, 0.5, 1),
                              text_align=TextNode.ALeft,
                              text_font=ToontownGlobals.getInterfaceFont())
     self.tip = DirectLabel(guiId='ToontownLoadingScreenTip',
                            parent=self.gui,
                            relief=None,
                            pos=(0, 0, 0.045),
                            text='',
                            textMayChange=1,
                            text_scale=0.05,
                            text_fg=(1, 1, 1, 1),
                            text_shadow=(0, 0, 0, 1),
                            text_align=TextNode.ACenter)
     self.waitBar = DirectWaitBar(
         guiId='ToontownLoadingScreenWaitBar',
         parent=self.gui,
         frameSize=(base.a2dLeft + (base.a2dRight / 4.95),
                    base.a2dRight - (base.a2dRight / 4.95), -0.03, 0.03),
         pos=(0, 0, 0.15),
         text='')
     logoScale = 0.5625  # Scale for our locked aspect ratio (2:1).
     self.logo = OnscreenImage(image='phase_3/maps/toontown-logo.jpg',
                               scale=(logoScale * 2.0, 1, logoScale))
     self.logo.reparentTo(hidden)
     self.logo.setTransparency(TransparencyAttrib.MAlpha)
     scale = self.logo.getScale()
     self.logo.setPos(0, 0, -scale[2])
     self.toon = None
 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()
 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.025000000000000001, 0.025000000000000001,
                             0.025000000000000001),
                            None), ('image_pos', (0, 1, 0), None),
                   ('text', TTLocalizer.UnknownFish,
                    None), ('text_scale', 0.065000000000000002, None),
                   ('text_fg', (0.20000000000000001, 0.10000000000000001,
                                0.0, 1),
                    None), ('text_pos', (-0.5, -0.34000000000000002), 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()
示例#14
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)
 def __init__(self, fish=None, parent=aspect2d, doneEvent=None, **kw):
     """
     Create a DirectFrame for displaying the fish and it's info.
     """
     assert self.notify.debugStateCall(self)
     optiondefs = (
         ('relief', None, None),
         ('state', DGG.DISABLED, None),
         ('image', DGG.getDefaultDialogGeom(), None),
         ('image_color', ToontownGlobals.GlobalDialogColor, None),
         ('image_scale', (0.65, 1, 0.85), None),
         ('text', "", None),
         ('text_scale', 0.06, None),
         ('text_fg', (0, 0, 0, 1), None),
         ('text_pos', (0, 0.35, 0), None),
         ('text_font', ToontownGlobals.getInterfaceFont(), None),
         ('text_wordwrap', 13.5, None),
     )
     # Merge keyword options with default options
     self.defineoptions(kw, optiondefs)
     # Initialize superclasses
     DirectFrame.__init__(self, parent)
     self.initialiseoptions(FishPanel)
     self.doneEvent = doneEvent
     self.fish = fish
     self.parent = parent
     self.photo = None
    def load(self):
        # add a picture of the firework.  draw it first so we can
        # draw the quantity on top of it.
        self.picture = DirectButton(
            parent=self,
            image=(DGG.getDefaultDialogGeom(), DGG.getDefaultDialogGeom(),
                   DGG.getDefaultDialogGeom()),
            relief=None,
            command=self.__launchFirework,
            extraArgs=[self.type],
            image_color=(.8, .9, 1, 1),
        )
        self.picture.setScale(0.2)
        self.picture.setPos(0, 0, 0)
        self.picture.initialiseoptions(self.picture)
        panelWidth = 7
        nameFont = ToontownGlobals.getInterfaceFont()

        # draw the quantity on top
        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_shadow = (0, 0, 0, 1),
            text_pos=(0, -.14, 0),
            text_font=nameFont,
            text_wordwrap=panelWidth,
        )
示例#17
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, -0.14, 0),
                                      text_font=nameFont,
                                      text_wordwrap=panelWidth)
     return
示例#18
0
 def __init__(self, fish=None, parent=aspect2d, doneEvent=None, **kw):
     optiondefs = (('relief', None, None),
      (
       'state', DGG.DISABLED, None),
      (
       'image', DGG.getDefaultDialogGeom(), None),
      (
       'image_color', ToontownGlobals.GlobalDialogColor, None),
      (
       'image_scale', (0.65, 1, 0.85), None),
      ('text', '', None),
      ('text_scale', 0.06, None),
      (
       'text_fg', (0, 0, 0, 1), None),
      (
       'text_pos', (0, 0.35, 0), None),
      (
       'text_font', ToontownGlobals.getInterfaceFont(), None),
      ('text_wordwrap', 13.5, None))
     self.defineoptions(kw, optiondefs)
     DirectFrame.__init__(self, parent)
     self.initialiseoptions(FishPanel)
     self.doneEvent = doneEvent
     self.fish = fish
     self._parent = parent
     self.photo = None
     return
    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
    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
 def makeGui(self):
     self.notify.debugStateCall(self)
     if hasattr(self, 'cancelButton'):
         return
     else:
         fishGui = loader.loadModel('phase_4/models/gui/fishingGui')
         self.cancelButton = DirectGui.DirectButton(
             relief=None,
             scale=0.67,
             parent=base.a2dBottomRight,
             pos=(-0.173333, 0, 0.1),
             text=('', TTLocalizer.FishingExit, TTLocalizer.FishingExit),
             text_align=TextNode.ACenter,
             text_fg=Vec4(1, 1, 1, 1),
             text_shadow=Vec4(0, 0, 0, 1),
             text_pos=(0.0, -0.12),
             textMayChange=0,
             text_scale=0.1,
             image=(fishGui.find('**/exit_buttonUp'),
                    fishGui.find('**/exit_buttonDown'),
                    fishGui.find('**/exit_buttonRollover')),
             text_font=ToontownGlobals.getInterfaceFont(),
             command=self.d_requestExit)
         self.cancelButton.hide()
         return
示例#22
0
    def makeGui(self):
        self.notify.debugStateCall(self)

        # Check if the timer exists, if so then the gui has been
        # made.
        if (hasattr(self, 'cancelButton')):
            return
        fishGui = loader.loadModel("phase_4/models/gui/fishingGui")
        self.cancelButton = DirectGui.DirectButton(
            relief=None,
            scale=(0.67),
            pos=(-0.133, 0.0, 0.13),
            #pos = (0,0,0),
            text=("", TTLocalizer.FishingExit, TTLocalizer.FishingExit),
            text_align=TextNode.ACenter,
            text_fg=Vec4(1, 1, 1, 1),
            text_shadow=Vec4(0, 0, 0, 1),
            text_pos=(0.0, -0.12),
            textMayChange=0,
            text_scale=0.1,
            image=(fishGui.find("**/exit_buttonUp"),
                   fishGui.find("**/exit_buttonDown"),
                   fishGui.find("**/exit_buttonRollover")),
            text_font=ToontownGlobals.getInterfaceFont(),
            command=self.d_requestExit,
            parent=base.a2dBottomRight
            #pressEffect = False,
        )
        self.cancelButton.hide()
示例#23
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
示例#24
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
示例#25
0
    def _RoguesGallery__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._RoguesGallery__makeDept(dept)

        else:
            self.suitRow = []
            self.rowWidth = 0.0
            self._RoguesGallery__makeSuit(None, None, self.rognamestr)
            self.minXScale = self.xRowSpace / self.rowWidth
            self.suits.append((self.rowWidth, self.suitRow))
            del self.suitRow
        self._RoguesGallery__rescaleSuits()
示例#26
0
    def setSpecies(self, species):
        assert self.notify.debugStateCall(self)
        if self.species == species:
            return
        self.species = species
        if self.species != None:
            # load the species image
            if self.flowerPanel:
                self.flowerPanel.destroy()
            #f = FishBase.FishBase(self.species, 0, 0)
            varietyToUse = self.flowerCollection.getInitialVariety(
                self.species)
            self.variety = varietyToUse
            self.flowerPanel = FlowerPhoto.FlowerPhoto(species=self.species,
                                                       variety=varietyToUse,
                                                       parent=self)
            #self.flowerPanel.setPos(-0.23, 1, -0.01)
            zAdj = 0.0131
            xAdj = -0.002
            self.flowerPanel.setPos(-0.229 + xAdj, 1, -0.01 + zAdj)
            # This is carefully placed over the book image.  Please try to keep
            # this in sync with the book position:
            self.flowerPanel.setSwimBounds(-0.2461, 0.2367, -0.207 + zAdj,
                                           0.2664 + zAdj)
            # Light blue-green water background:
            #self.flowerPanel.setSwimColor(0.47, 1.0, 0.99, 1.0)
            # dark green lawn background
            #self.flowerPanel.setSwimColor(0.25, 0.5, 0.25, 1.0)
            # light gray neutral background
            self.flowerPanel.setSwimColor(0.75, 0.75, 0.75, 1.0)

            varietyList = GardenGlobals.getFlowerVarieties(self.species)
            self.speciesLabels = []
            offset = 0.075
            startPos = ((len(varietyList) / 2) * offset)
            if not len(varietyList) % 2:
                # even len's need a little shift down
                startPos -= offset / 2

            for variety in range(len(varietyList)):
                label = DirectButton(
                    parent=self,
                    frameSize=(0, 0.445, -0.02, 0.04),
                    relief=None,  #DGG.RIDGE,
                    #borderWidth = (0.01,0.01),
                    state=DGG.DISABLED,
                    pos=(0.06, 0, startPos - (variety * offset)),
                    text=TTLocalizer.FlowerUnknown,
                    text_fg=(0.2, 0.1, 0.0, 1),
                    text_scale=(0.045, 0.045, 0.45),
                    text_align=TextNode.ALeft,
                    text_font=ToontownGlobals.getInterfaceFont(),
                    command=self.changeVariety,
                    extraArgs=[variety],
                    text1_bg=Vec4(1, 1, 0, 1),
                    text2_bg=Vec4(0.5, 0.9, 1, 1),
                    text3_fg=Vec4(0.4, 0.8, 0.4, 1),
                )
                self.speciesLabels.append(label)
示例#27
0
 def loadDnaStore(self):
     if not hasattr(self, "dnaStore"):
         self.dnaStore = DNAStorage()
         loader.loadDNAFile(self.dnaStore, "phase_4/dna/storage.dna")
         self.dnaStore.storeFont("humanist", ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont("mickey", ToontownGlobals.getSignFont())
         self.dnaStore.storeFont("suit", ToontownGlobals.getSuitFont())
         loader.loadDNAFile(self.dnaStore, "phase_3.5/dna/storage_interior.dna")
 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, -0.14, 0), text_font=nameFont, text_wordwrap=panelWidth)
示例#29
0
 def loadDnaStore(self):
     if not hasattr(self, 'dnaStore'):
         self.dnaStore = DNAStorage()
         loader.loadDNAFile(self.dnaStore, 'phase_4/dna/storage.dna')
         self.dnaStore.storeFont('humanist', ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont())
         self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont())
         loader.loadDNAFile(self.dnaStore, 'phase_3.5/dna/storage_interior.dna')
示例#30
0
 def loadDnaStore(self):
     if not hasattr(self, 'dnaStore'):
         self.dnaStore = DNAStorage()
         loader.loadDNAFile(self.dnaStore, 'phase_4/dna/storage.dna')
         self.dnaStore.storeFont('humanist', ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont())
         self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont())
         loader.loadDNAFile(self.dnaStore, 'phase_3.5/dna/storage_interior.dna')
示例#31
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())
示例#32
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())
示例#33
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())
示例#34
0
    def _initModel(self):
        self.setPos(Globals.Gui.FuelPos2D[0], 0.0, Globals.Gui.FuelPos2D[1])
        self.gui = CogdoUtil.loadFlyingModel('propellerMeter', group='gui')
        self.gui.reparentTo(self)
        self.gui.setBin('fixed', 0)
        self.healthBar = self.gui.find('**/healthBar')
        self.healthBar.setBin('fixed', 1)
        self.healthBar.setColor(*Globals.Gui.FuelNormalColor)
        bottomBarLocator = self.gui.find('**/bottomOfBar_loc')
        bottomBarPos = bottomBarLocator.getPos(render)
        topBarLocator = self.gui.find('**/topOfBar_loc')
        topBarPos = topBarLocator.getPos(render)
        zDist = topBarPos.getZ() - bottomBarPos.getZ()
        self.fuelLowIndicator = self.gui.find('**/fuelLowIndicator')
        self.fuelLowIndicator.setBin('fixed', 2)
        pos = self.fuelLowIndicator.getPos(render)
        newPos = pos
        newPos.setZ(bottomBarPos.getZ() + zDist * Globals.Gameplay.FuelLowAmt)
        self.fuelLowIndicator.setPos(render, newPos)
        self.fuelVeryLowIndicator = self.gui.find('**/fuelVeryLowIndicator')
        self.fuelVeryLowIndicator.setBin('fixed', 2)
        pos = self.fuelVeryLowIndicator.getPos(render)
        newPos = pos
        newPos.setZ(bottomBarPos.getZ() + zDist * Globals.Gameplay.FuelVeryLowAmt)
        self.fuelVeryLowIndicator.setPos(render, newPos)
        self.propellerMain = self.gui.find('**/propellers')
        self.propellerMain.setBin('fixed', 3)
        self.propellerHead = self.gui.find('**/propellerHead')
        self.propellerHead.setBin('fixed', 4)
        self.blades = []
        self.activeBlades = []
        index = 1
        blade = self.propellerMain.find('**/propeller%d' % index)
        while not blade.isEmpty():
            self.blades.append(blade)
            index += 1
            blade = self.propellerMain.find('**/propeller%d' % index)

        for blade in self.blades:
            self.activeBlades.append(blade)

        self.bladeNumberLabel = DirectLabel(parent=self.propellerHead,
                                            relief=None,
                                            pos=(Globals.Gui.FuelNumBladesPos2D[0],
                                                 0,
                                                 Globals.Gui.FuelNumBladesPos2D[1],
                                                 ),
                                            scale=Globals.Gui.FuelNumBladesScale,
                                            text=str(len(self.activeBlades)),
                                            text_align=TextNode.ACenter,
                                            text_fg=(0.0, 0.0, -0.002, 1),
                                            text_shadow=(0.75, 0.75, 0.75, 1),
                                            text_font=ToontownGlobals.getInterfaceFont(),
                                            )
        self.bladeNumberLabel.setBin('fixed', 5)
        return
 def __init__(self):
     self.__expectedCount = 0
     self.__count = 0
     self.textures = [(loader.loadTexture('phase_3.5/maps/loading/toon.jpg'), ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1)),
      (loader.loadTexture('phase_3.5/maps/loading/cog.jpg'), ToontownGlobals.getSuitFont(), (1.0, 1.0, 1.0, 1)),
      (loader.loadTexture('phase_3.5/maps/loading/default.jpg'), ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1))
     ]
     self.gui = loader.loadModel('phase_3/models/gui/progress-background.bam')
     self.title = DirectLabel(guiId='ToontownLoadingScreenTitle', parent=self.gui, relief=None, pos=(base.a2dRight/5, 0, 0.235), text='', textMayChange=1, text_scale=0.08, text_fg=(0, 0, 0.5, 1), text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont())
     self.tip = DirectLabel(guiId='ToontownLoadingScreenTip', parent=self.gui, relief=None, pos=(0, 0, 0.045), text='', textMayChange=1, text_scale=0.05, text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_align=TextNode.ACenter)
     self.waitBar = DirectWaitBar(guiId='ToontownLoadingScreenWaitBar', parent=self.gui, frameSize=(base.a2dLeft+(base.a2dRight/4.95), base.a2dRight-(base.a2dRight/4.95), -0.03, 0.03), pos=(0, 0, 0.15), text='')
     logoScale = 0.5625  # Scale for our locked aspect ratio (2:1).
     self.logo = OnscreenImage(
         image='phase_3/maps/toontown-logo.png',
         scale=(logoScale * 2.0, 1, logoScale))
     self.logo.reparentTo(hidden)
     self.logo.setTransparency(TransparencyAttrib.MAlpha)
     scale = self.logo.getScale()
     self.logo.setPos(0, 0, -scale[2])
示例#36
0
    def __init__(self, species=None, itemIndex=0, *extraArgs):
        """
        genus is an integer key into GardenGlobals.PlantAttributes.
        itemIndex is an integer index into the item list (see optiondefs
            in FlowerBrowser).
        
        Create a DirectFrame for displaying the genus and it's species
        """
        assert self.notify.debugStateCall(self)
        flowerGui = loader.loadModel("phase_3.5/models/gui/fishingBook")

        albumGui = flowerGui.find("**/photo_frame1")
        # The picture frame is in the wrong order, should be drawn first (at the back)
        # RAU 2006/08/01 But since now we have a PictureGroup, just move that

        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),            
            )
        # Merge keyword options with default options
        self.defineoptions({}, optiondefs)
        # Initialize superclasses
        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
    def loadDnaStore(self):
        if not hasattr(self, "dnaStore"):
            self.dnaStore = DNAStorage()

            loader.loadDNA("phase_4/dna/storage.xml").store(self.dnaStore)

            self.dnaStore.storeFont(ToontownGlobals.getInterfaceFont(), "humanist")
            self.dnaStore.storeFont(ToontownGlobals.getSignFont(), "mickey")
            self.dnaStore.storeFont(ToontownGlobals.getSuitFont(), "suit")

            loader.loadDNA("phase_3.5/dna/storage_interior.xml").store(self.dnaStore)
示例#38
0
    def loadDnaStore(self):
        if not hasattr(self, 'dnaStore'):
            self.dnaStore = DNAStorage()

            loader.loadDNA('phase_4/dna/storage.xml').store(self.dnaStore)

            self.dnaStore.storeFont(ToontownGlobals.getInterfaceFont(), 'humanist')
            self.dnaStore.storeFont(ToontownGlobals.getSignFont(), 'mickey')
            self.dnaStore.storeFont(ToontownGlobals.getSuitFont(), 'suit')

            loader.loadDNA('phase_3.5/dna/storage_interior.xml').store(self.dnaStore)
示例#39
0
    def loadDnaStore(self):
        if not hasattr(self, 'dnaStore'):
            self.dnaStore = DNAStorage()

            loader.loadDNA('phase_4/dna/storage.xml').store(self.dnaStore)

            self.dnaStore.storeFont(ToontownGlobals.getInterfaceFont(),
                                    'humanist')
            self.dnaStore.storeFont(ToontownGlobals.getSignFont(), 'mickey')
            self.dnaStore.storeFont(ToontownGlobals.getSuitFont(), 'suit')

            loader.loadDNA('phase_3.5/dna/storage_interior.xml').store(
                self.dnaStore)
 def setClarabelleChat(self, str, timeout = 6, type = None):
     self.clearClarabelleChat()
     if not self.clarabelleChatBalloon:
         self.clarabelleChatBalloon = loader.loadModel('phase_3/models/props/chatbox')
     
     self.clarabelleChat = CatalogChatBalloon.CatalogChatBalloon(self.clarabelleChatBalloon)
     chatNode = self.clarabelleChat.generate(str, ToontownGlobals.getInterfaceFont())[0]
     self.clarabelleChatNP = self.attachNewNode(chatNode.node(), 1000)
     self.clarabelleChatNP.setScale(0.08)
     self.clarabelleChatNP.setPos(0.7, 0, 0.6)
     
     if timeout:
         taskMgr.doMethodLater(timeout, self.clearClarabelleChat, 'clearClarabelleChat')
示例#41
0
 def generatePage(self):
     pageText = '%s - %s' % (self.category, self.pageNum)
     self.textNode = TextNode(pageText)
     self.textNode.setText(pageText)
     self.textNode.setFont(ToontownGlobals.getInterfaceFont())
     self.textNode = self.attachNewNode(self.textNode)
     self.textNode.setPos(*CatalogGlobals.ItemPageTextLoc)
     self.textNode.setScale(CatalogGlobals.ItemPageTextScale)
     self.textNode.setColor(0, 0, 0, 1)
     for (x, item) in enumerate(self.catalogItems):
         itemFrame = CatalogItemPanel(parent=self, parentCatalogScreen=self.parent, item=item)
         itemFrame.load()
         itemFrame.setPos(*CatalogGlobals.CatalogPropPos[x])
         self.itemFrames.append(itemFrame)
示例#42
0
    def setClarabelleChat(self, str, timeout = 6, type = None):
        self.clearClarabelleChat()

        if not self.clarabelleChatBalloon:
            self.clarabelleChatBalloon = loader.loadModel('phase_3/models/props/chatbox')

        self.clarabelleChat = ChatBalloon(self.clarabelleChatBalloon)
        chatNode = self.clarabelleChat.generate(str, ToontownGlobals.getInterfaceFont())[0]
        self.clarabelleChatNP = self.attachNewNode(chatNode.node(), 1000)
        self.clarabelleChatNP.setScale(0.08)
        self.clarabelleChatNP.setPos(0.7, 0, 0.6)

        if timeout:
            taskMgr.doMethodLater(timeout, self.clearClarabelleChat, 'clearClarabelleChat')
示例#43
0
 def addTrashButton(posZ, text, extraArg):
     return DirectButton(parent=self.trashPanel,
                         image=trashImage,
                         relief=None,
                         pos=(-0.09, 0, posZ),
                         command=self.__handleDelete,
                         text=text,
                         extraArgs=[extraArg],
                         scale=(0.5, 0.5, 0.5),
                         text_font=ToontownGlobals.getInterfaceFont(),
                         text_scale=0.12,
                         text_pos=(0.3, 0),
                         text_fg=(0.8, 0.2, 0.2, 1),
                         text_shadow=(0, 0, 0, 1),
                         textMayChange=0)
 def __init__(self, trackId, callback):
     DirectFrame.__init__(self, relief=None)
     self.initialiseoptions(TrackPoster)
     bookModel = loader.loadModel('phase_3.5/models/gui/stickerbook_gui')
     trackName = ToontownBattleGlobals.Tracks[trackId].capitalize()
     self.poster = DirectFrame(parent=self,
                               relief=None,
                               image=bookModel.find('**/questCard'),
                               image_scale=(0.4, 0.29, 0.29))
     invModel = loader.loadModel('phase_3.5/models/gui/inventory_icons')
     iconGeom = invModel.find('**/' +
                              ToontownBattleGlobals.AvPropsNew[trackId][5])
     invModel.removeNode()
     self.pictureFrame = DirectFrame(
         parent=self.poster,
         relief=None,
         image=bookModel.find('**/questPictureFrame'),
         image_scale=0.125,
         image_color=(0.45, 0.8, 0.45, 1),
         text=trackName,
         text_font=ToontownGlobals.getInterfaceFont(),
         text_pos=(0, -0.14),
         text_fg=self.normalTextColor,
         text_scale=0.05,
         text_align=TextNode.ACenter,
         text_wordwrap=8.0,
         textMayChange=0,
         geom=iconGeom,
         geom_scale=(0.8, 0.8, 0.8),
         pos=(0.0, 0, 0.05))
     bookModel.removeNode()
     guiButton = loader.loadModel('phase_3/models/gui/quit_button')
     self.chooseButton = DirectButton(
         parent=self.poster,
         relief=None,
         image=(guiButton.find('**/QuitBtn_UP'),
                guiButton.find('**/QuitBtn_DN'),
                guiButton.find('**/QuitBtn_RLVR')),
         image_scale=(0.7, 1, 1),
         text=TTLocalizer.TrackChoiceGuiChoose,
         text_scale=0.06,
         text_pos=(0, -0.02),
         command=callback,
         extraArgs=[trackId],
         pos=(0, 0, -0.20),
         scale=0.8)
     guiButton.removeNode()
     return
示例#45
0
 def generatePage(self):
     pageText = '%s - %s' % (self.category, self.pageNum)
     self.textNode = TextNode(pageText)
     self.textNode.setText(pageText)
     self.textNode.setFont(ToontownGlobals.getInterfaceFont())
     self.textNode = self.attachNewNode(self.textNode)
     self.textNode.setPos(*CatalogGlobals.ItemPageTextLoc)
     self.textNode.setScale(CatalogGlobals.ItemPageTextScale)
     self.textNode.setColor(0, 0, 0, 1)
     for (x, item) in enumerate(self.catalogItems):
         itemFrame = CatalogItemPanel(parent=self,
                                      parentCatalogScreen=self.parent,
                                      item=item)
         itemFrame.load()
         itemFrame.setPos(*CatalogGlobals.CatalogPropPos[x])
         self.itemFrames.append(itemFrame)
    def _initModel(self):
        self.setPos(Globals.Gui.FuelPos2D[0], 0.0, Globals.Gui.FuelPos2D[1])
        self.gui = CogdoUtil.loadFlyingModel('propellerMeter', group='gui')
        self.gui.reparentTo(self)
        self.gui.setBin('fixed', 0)
        self.healthBar = self.gui.find('**/healthBar')
        self.healthBar.setBin('fixed', 1)
        self.healthBar.setColor(*Globals.Gui.FuelNormalColor)
        bottomBarLocator = self.gui.find('**/bottomOfBar_loc')
        bottomBarPos = bottomBarLocator.getPos(render)
        topBarLocator = self.gui.find('**/topOfBar_loc')
        topBarPos = topBarLocator.getPos(render)
        zDist = topBarPos.getZ() - bottomBarPos.getZ()
        self.fuelLowIndicator = self.gui.find('**/fuelLowIndicator')
        self.fuelLowIndicator.setBin('fixed', 2)
        pos = self.fuelLowIndicator.getPos(render)
        newPos = pos
        newPos.setZ(bottomBarPos.getZ() + zDist * Globals.Gameplay.FuelLowAmt)
        self.fuelLowIndicator.setPos(render, newPos)
        self.fuelVeryLowIndicator = self.gui.find('**/fuelVeryLowIndicator')
        self.fuelVeryLowIndicator.setBin('fixed', 2)
        pos = self.fuelVeryLowIndicator.getPos(render)
        newPos = pos
        newPos.setZ(bottomBarPos.getZ() + zDist * Globals.Gameplay.FuelVeryLowAmt)
        self.fuelVeryLowIndicator.setPos(render, newPos)
        self.propellerMain = self.gui.find('**/propellers')
        self.propellerMain.setBin('fixed', 3)
        self.propellerHead = self.gui.find('**/propellerHead')
        self.propellerHead.setBin('fixed', 4)
        self.blades = []
        self.activeBlades = []
        index = 1
        blade = self.propellerMain.find('**/propeller%d' % index)
        while not blade.isEmpty():
            self.blades.append(blade)
            index += 1
            blade = self.propellerMain.find('**/propeller%d' % index)

        for blade in self.blades:
            self.activeBlades.append(blade)

        self.bladeNumberLabel = DirectLabel(parent=self.propellerHead, relief=None, pos=(Globals.Gui.FuelNumBladesPos2D[0], 0, Globals.Gui.FuelNumBladesPos2D[1]), scale=Globals.Gui.FuelNumBladesScale, text=str(len(self.activeBlades)), text_align=TextNode.ACenter, text_fg=(0.0,
         0.0,
         -0.002,
         1), text_shadow=(0.75, 0.75, 0.75, 1), text_font=ToontownGlobals.getInterfaceFont())
        self.bladeNumberLabel.setBin('fixed', 5)
        return
示例#47
0
 def addTrashButton(posZ, text, extraArg):
     return DirectButton(
         parent=self.trashPanel,
         image=trashImage,
         relief=None,
         pos=(-0.09, 0, posZ),
         command=self.__handleDelete,
         text=text,
         extraArgs=[extraArg],
         scale=(0.5, 0.5, 0.5),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.12,
         text_pos=(0.3, 0),
         text_fg=(0.8, 0.2, 0.2, 1),
         text_shadow=(0, 0, 0, 1),
         textMayChange=0,
     )
 def __init__(self, trackId, callback):
     DirectFrame.__init__(self, relief=None)
     self.initialiseoptions(TrackPoster)
     bookModel = loader.loadModel("phase_3.5/models/gui/stickerbook_gui")
     trackName = ToontownBattleGlobals.Tracks[trackId].capitalize()
     self.poster = DirectFrame(
         parent=self, relief=None, image=bookModel.find("**/questCard"), image_scale=(0.4, 0.29, 0.29)
     )
     invModel = loader.loadModel("phase_3.5/models/gui/inventory_icons")
     iconGeom = invModel.find("**/" + ToontownBattleGlobals.AvPropsNew[trackId][5])
     invModel.removeNode()
     self.pictureFrame = DirectFrame(
         parent=self.poster,
         relief=None,
         image=bookModel.find("**/questPictureFrame"),
         image_scale=0.125,
         image_color=(0.45, 0.8, 0.45, 1),
         text=trackName,
         text_font=ToontownGlobals.getInterfaceFont(),
         text_pos=(0, -0.14),
         text_fg=self.normalTextColor,
         text_scale=0.05,
         text_align=TextNode.ACenter,
         text_wordwrap=8.0,
         textMayChange=0,
         geom=iconGeom,
         geom_scale=(0.8, 0.8, 0.8),
         pos=(0.0, 0, 0.05),
     )
     bookModel.removeNode()
     guiButton = loader.loadModel("phase_3/models/gui/quit_button")
     self.chooseButton = DirectButton(
         parent=self.poster,
         relief=None,
         image=(guiButton.find("**/QuitBtn_UP"), guiButton.find("**/QuitBtn_DN"), guiButton.find("**/QuitBtn_RLVR")),
         image_scale=(0.7, 1, 1),
         text=TTLocalizer.TrackChoiceGuiChoose,
         text_scale=0.06,
         text_pos=(0, -0.02),
         command=callback,
         extraArgs=[trackId],
         pos=(0, 0, -0.20),
         scale=0.8,
     )
     guiButton.removeNode()
     return
示例#49
0
 def __init__(self, index, lockCallback, **kw):
     optiondefs = (
         ('relief', None, None),
         ('image', DGG.getDefaultDialogGeom(), None),
         ('image_color', ToontownGlobals.GlobalDialogColor, None),
         ('image_scale', (0.35, 1, 0.45), None),
         ('text', "", None),
         ('text_scale', 0.06, None),
         ('text_fg', (0, 0, 0, 1), None),
         ('text_pos', (0, 0.35, 0), None),
         ('text_font', ToontownGlobals.getInterfaceFont(), None),
         ('text_wordwrap', 13.5, None),
     )
     # Merge keyword options with default options
     self.defineoptions(kw, optiondefs)
     DirectFrame.__init__(self)
     self.initialiseoptions(FishPokerCard)
     self.index = index
     self.fish = None
     guiButton = loader.loadModel("phase_3/models/gui/quit_button")
     self.lockCallback = lockCallback
     self.lockButton = DirectButton(
         parent=self,
         relief=None,
         image=(
             guiButton.find("**/QuitBtn_UP"),
             guiButton.find("**/QuitBtn_DN"),
             guiButton.find("**/QuitBtn_RLVR"),
         ),
         image_scale=1,
         text=TTLocalizer.FishPokerLock,
         text_scale=0.06,
         textMayChange=1,
         pos=(0, 0, 0.2),
         command=self.toggleLock,
     )
     # TODO: image of fish here
     self.fishFrame = DirectFrame(
         parent=self,
         relief=None,
         text="",
         text_scale=0.05,
         pos=(0, 0, -0.2),
     )
     guiButton.removeNode()
    def setSpecies(self, species):
        if self.species == species:
            return
        self.species = species
        if self.species != None:
            if self.flowerPanel:
                self.flowerPanel.destroy()
            varietyToUse = self.flowerCollection.getInitialVariety(
                self.species)
            self.variety = varietyToUse
            self.flowerPanel = FlowerPhoto.FlowerPhoto(species=self.species,
                                                       variety=varietyToUse,
                                                       parent=self)
            zAdj = 0.0131
            xAdj = -0.002
            self.flowerPanel.setPos(-0.229 + xAdj, 1, -0.01 + zAdj)
            self.flowerPanel.setSwimBounds(-0.2461, 0.2367, -0.207 + zAdj,
                                           0.2664 + zAdj)
            self.flowerPanel.setSwimColor(0.75, 0.75, 0.75, 1.0)
            varietyList = GardenGlobals.getFlowerVarieties(self.species)
            self.speciesLabels = []
            offset = 0.075
            startPos = len(varietyList) / 2 * offset
            if not len(varietyList) % 2:
                startPos -= offset / 2
            for variety in range(len(varietyList)):
                label = DirectButton(
                    parent=self,
                    frameSize=(0, 0.445, -0.02, 0.04),
                    relief=None,
                    state=DGG.DISABLED,
                    pos=(0.06, 0, startPos - variety * offset),
                    text=TTLocalizer.FlowerUnknown,
                    text_fg=(0.2, 0.1, 0.0, 1),
                    text_scale=(0.045, 0.045, 0.45),
                    text_align=TextNode.ALeft,
                    text_font=ToontownGlobals.getInterfaceFont(),
                    command=self.changeVariety,
                    extraArgs=[variety],
                    text1_bg=Vec4(1, 1, 0, 1),
                    text2_bg=Vec4(0.5, 0.9, 1, 1),
                    text3_fg=Vec4(0.4, 0.8, 0.4, 1))
                self.speciesLabels.append(label)

        return
 def __init__(self, flower = None, parent = aspect2d, doneEvent = None, **kw):
     optiondefs = (('relief', None, None),
      ('state', DGG.DISABLED, None),
      ('image', DGG.getDefaultDialogGeom(), None),
      ('image_color', ToontownGlobals.GlobalDialogColor, None),
      ('image_scale', (0.65, 1, 0.85), None),
      ('text', '', None),
      ('text_scale', 0.06, None),
      ('text_fg', (0, 0, 0, 1), None),
      ('text_pos', (0, 0.35, 0), None),
      ('text_font', ToontownGlobals.getInterfaceFont(), None),
      ('text_wordwrap', 13.5, None))
     self.defineoptions(kw, optiondefs)
     DirectFrame.__init__(self, parent)
     self.initialiseoptions(FlowerPanel)
     self.doneEvent = doneEvent
     self.flower = flower
     self.parent = parent
     self.photo = None
 def makeGui(self):
     self.notify.debugStateCall(self)
     if hasattr(self, 'cancelButton'):
         return
     fishGui = loader.loadModel('phase_4/models/gui/fishingGui')
     self.cancelButton = DirectGui.DirectButton(
         relief=None, scale=0.67, pos=(1.16, 0, -0.9),
         text=('', TTLocalizer.FishingExit, TTLocalizer.FishingExit),
         text_align=TextNode.ACenter, text_fg=Vec4(1, 1, 1, 1),
         text_shadow=Vec4(0, 0, 0, 1),
         text_pos=(0.0, -0.12),
         textMayChange=0, text_scale=0.1,
         image=(fishGui.find('**/exit_buttonUp'),
                fishGui.find('**/exit_buttonDown'),
                fishGui.find('**/exit_buttonRollover')),
         text_font=ToontownGlobals.getInterfaceFont(),
         command=self.d_requestExit)
     self.cancelButton.hide()
     return
示例#53
0
    def showRolloverFrame(self, parent, type, text, extra=None):
        dict = TTLocalizer.BattleHoverAttributes[type]

        for key, value in dict.iteritems():
            if key == "pos":
                self.rolloverFrame.setPos(value)
            elif key == "suit":
                if value:
                    self.rolloverFrame["text_font"] = ToontownGlobals.getSuitFont()
                    self.rolloverFrame["geom"] = self.suitGui.find("**/avatar_panel")
                else:
                    self.rolloverFrame["text_font"] = ToontownGlobals.getInterfaceFont()
                    self.rolloverFrame["geom"] = DGG.getDefaultDialogGeom()
            else:
                self.rolloverFrame[key] = value

        self.rolloverFrame.reparentTo(parent)
        self.rolloverFrame.show()
        self.rolloverFrame["text"] = text
    def setSpecies(self, species):
        if self.species == species:
            return
        self.species = species
        if self.species != None:
            if self.flowerPanel:
                self.flowerPanel.destroy()
            varietyToUse = self.flowerCollection.getInitialVariety(self.species)
            self.variety = varietyToUse
            self.flowerPanel = FlowerPhoto.FlowerPhoto(species=self.species, variety=varietyToUse, parent=self)
            zAdj = 0.0131
            xAdj = -0.002
            self.flowerPanel.setPos(-0.229 + xAdj, 1, -0.01 + zAdj)
            self.flowerPanel.setSwimBounds(-0.2461, 0.2367, -0.207 + zAdj, 0.2664 + zAdj)
            self.flowerPanel.setSwimColor(0.75, 0.75, 0.75, 1.0)
            varietyList = GardenGlobals.getFlowerVarieties(self.species)
            self.speciesLabels = []
            offset = 0.075
            startPos = len(varietyList) / 2 * offset
            if not len(varietyList) % 2:
                startPos -= offset / 2
            for variety in xrange(len(varietyList)):
                label = DirectButton(
                    parent=self,
                    frameSize=(0, 0.445, -0.02, 0.04),
                    relief=None,
                    state=DGG.DISABLED,
                    pos=(0.06, 0, startPos - variety * offset),
                    text=TTLocalizer.FlowerUnknown,
                    text_fg=(0.2, 0.1, 0.0, 1),
                    text_scale=(0.045, 0.045, 0.45),
                    text_align=TextNode.ALeft,
                    text_font=ToontownGlobals.getInterfaceFont(),
                    command=self.changeVariety,
                    extraArgs=[variety],
                    text1_bg=Vec4(1, 1, 0, 1),
                    text2_bg=Vec4(0.5, 0.9, 1, 1),
                    text3_fg=Vec4(0.4, 0.8, 0.4, 1),
                )
                self.speciesLabels.append(label)

        return
    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
    def create(self):
        self.background = OnscreenImage(parent=render2d, image="phase_3.5/maps/blackboardEmpty.jpg")
        self.gui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui')
        self.shuffleUp = self.gui.find('**/tt_t_gui_mat_shuffleUp')
        self.shuffleDown = self.gui.find('**/tt_t_gui_mat_shuffleDown')

        self.title = DirectLabel(aspect2d, relief=None, text=TTLocalizer.LanguageSelectorTitle,
                     text_fg=(0, 1, 0, 1), text_scale=0.15, text_font=ToontownGlobals.getSuitFont(),
                     pos=(0, 0, 0.70), text_shadow=(0, 0.392, 0, 1))

        self.current = DirectLabel(aspect2d, relief=None, text=TTLocalizer.LanguageSelectorCurrent % settings['language'],
                       text_fg=(0, 1, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(),
                       pos=(0, 0, 0.55), text_shadow=(0, 0.392, 0, 1))

        self.available = DirectLabel(aspect2d, relief=None, text=TTLocalizer.LanguageSelectorAvailable,
                         text_fg=(1, 0, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(),
                         pos=(0, 0, 0), text_shadow=(0.545, 0, 0, 1))

        self.english = DirectButton(aspect2d, relief=None, text='English',
                       text_fg=(1, 0.549, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(),
                       pos=(0, 0, -0.15), text_shadow=(1, 0.27, 0, 1), command=self.switchLanguage, extraArgs=['English'])

        self.french = DirectButton(aspect2d, relief=None, text='French',
                      text_fg=(1, 0.549, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(),
                      pos=(0, 0, -0.25), text_shadow=(1, 0.27, 0, 1), command=self.switchLanguage, extraArgs=['French'])

        self.portuguese = DirectButton(aspect2d, relief=None, text='Portuguese',
                      text_fg=(1, 0.549, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(),
                      pos=(0, 0, -0.35), text_shadow=(1, 0.27, 0, 1), command=self.switchLanguage, extraArgs=['Portuguese'])

        self.german = DirectButton(aspect2d, relief=None, text='German',
                      text_fg=(1, 0.549, 0, 1), text_scale=0.09, text_font=ToontownGlobals.getSuitFont(),
                      pos=(0, 0, -0.45), text_shadow=(1, 0.27, 0, 1), command=self.switchLanguage, extraArgs=['German'])

        self.backButton = DirectButton(aspect2d, relief=None, image=(self.shuffleUp, self.shuffleDown),
                          text=TTLocalizer.LanguageSelectorBack, text_font=ToontownGlobals.getInterfaceFont(),
                          text_scale=0.11, text_pos=(0, -0.02), pos=(0, 0, -0.75), text_fg=(1, 1, 1, 1),
                          text_shadow=(0, 0, 0, 1), command=self.destroy)
    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
 def load(self):
     btnGui = loader.loadModel('phase_3.5/models/gui/tt_m_gui_ign_newsBtnGui')
     bookModel = loader.loadModel('phase_3.5/models/gui/tt_m_gui_ign_shtickerBook')
     self.openNewNewsUp = btnGui.find('**/tt_t_gui_ign_new')
     self.openNewNewsUpBlink = btnGui.find('**/tt_t_gui_ign_newBlink')
     self.openNewNewsHover = btnGui.find('**/tt_t_gui_ign_newHover')
     self.openOldNewsUp = btnGui.find('**/tt_t_gui_ign_oldNews')
     self.openOldNewsHover = btnGui.find('**/tt_t_gui_ign_oldHover')
     self.closeNewsUp = bookModel.find('**/tt_t_gui_sbk_newsPage1')
     self.closeNewsHover = bookModel.find('**/tt_t_gui_sbk_newsPage2')
     btnGui.removeNode()
     bookModel.removeNode()
     oldScale = 0.5
     newScale = 0.9
     shtickerBookScale = 0.305
     newPos = VBase3(0.914, 0, 0.862)
     shtickerBookPos = VBase3(1.175, 0, -0.83)
     textScale = 0.06
     self.newIssueButton = DirectButton(relief=None, sortOrder=DGG.BACKGROUND_SORT_INDEX - 1, image=(self.openNewNewsUp, self.openNewNewsHover, self.openNewNewsHover), text=('', TTLocalizer.EventsPageNewsTabName, TTLocalizer.EventsPageNewsTabName), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_scale=textScale, text_font=ToontownGlobals.getInterfaceFont(), pos=newPos, scale=newScale, command=self.__handleGotoNewsButton)
     self.gotoPrevPageButton = DirectButton(relief=None, image=(self.closeNewsUp, self.closeNewsHover, self.closeNewsHover), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_scale=textScale, text_font=ToontownGlobals.getInterfaceFont(), pos=shtickerBookPos, scale=shtickerBookScale, command=self.__handleGotoPrevPageButton)
     self.goto3dWorldButton = DirectButton(relief=None, image=(self.closeNewsUp, self.closeNewsHover, self.closeNewsHover), text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_scale=textScale, text_font=ToontownGlobals.getInterfaceFont(), pos=shtickerBookPos, scale=shtickerBookScale, command=self.__handleGoto3dWorldButton)
     self.hideNewIssueButton()
     self.gotoPrevPageButton.hide()
     self.goto3dWorldButton.hide()
     self.accept('newIssueOut', self.handleNewIssueOut)
     bounce1Pos = VBase3(newPos.getX(), newPos.getY(), newPos.getZ() + 0.022)
     bounce2Pos = VBase3(newPos.getX(), newPos.getY(), newPos.getZ() + 0.015)
     bounceIval = Sequence(LerpPosInterval(self.newIssueButton, 0.1, bounce1Pos, blendType='easeOut'), LerpPosInterval(self.newIssueButton, 0.1, newPos, blendType='easeIn'), LerpPosInterval(self.newIssueButton, 0.07, bounce2Pos, blendType='easeOut'), LerpPosInterval(self.newIssueButton, 0.07, newPos, blendType='easeIn'))
     self.__blinkIval = Sequence(Func(self.__showOpenEyes), Wait(2), bounceIval, Wait(0.5), Func(self.__showClosedEyes), Wait(0.1), Func(self.__showOpenEyes), Wait(0.1), Func(self.__showClosedEyes), Wait(0.1))
     self.__blinkIval.loop()
     self.__blinkIval.pause()
     self.buttonsLoaded = True
     return
 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=TTLocalizer.FPvaluePos, relief=None, state=DGG.NORMAL, text='', text_scale=TTLocalizer.FPvalue, 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 = FlowerPhoto.FlowerPhoto(parent=self)
     self.update(self.flower)
示例#60
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 range(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