def load(self):
        self.notify.debug('load')
        DistributedMinigame.load(self)
        self.timer = ToontownTimer.ToontownTimer()
        self.timer.posInTopRightCorner()
        self.timer.hide()
        self.room = loader.loadModel('phase_4/models/minigames/matching_room')
        self.buttonSounds = []
        for soundName in self.ButtonSoundNames:
            self.buttonSounds.append(base.loader.loadSfx(soundName))

        self.correctSound = base.loader.loadSfx(
            'phase_4/audio/sfx/MG_pos_buzzer.ogg')
        self.incorrectSound = base.loader.loadSfx(
            'phase_4/audio/sfx/MG_neg_buzzer.ogg')
        self.perfectSound = base.loader.loadSfx('phase_4/audio/sfx/MG_win.ogg')
        self.fallSound = base.loader.loadSfx('phase_4/audio/sfx/MG_Tag_A.ogg')
        self.music = base.loader.loadMusic(self.bgm)
        self.waitingText = DirectLabel(text=self.strPleaseWait,
                                       text_fg=(0.9, 0.9, 0.9, 1.0),
                                       frameColor=(1, 1, 1, 0),
                                       text_font=ToontownGlobals.getSignFont(),
                                       pos=(0, 0, -.78),
                                       scale=0.12)
        self.roundText = DirectLabel(text=self.strRound % 1,
                                     text_fg=self.normalTextColor,
                                     frameColor=(1, 1, 1, 0),
                                     text_font=ToontownGlobals.getSignFont(),
                                     pos=(0.014, 0, -.84),
                                     scale=0.12)
        self.roundText.hide()
        self.waitingText.hide()
        matchingGameGui = loader.loadModel(
            'phase_3.5/models/gui/matching_game_gui')
        minnieArrow = matchingGameGui.find('**/minnieArrow')
        minnieX = matchingGameGui.find('**/minnieX')
        minnieCircle = matchingGameGui.find('**/minnieCircle')
        self.arrows = [None] * 5
        for x in xrange(0, 5):
            self.arrows[x] = minnieArrow.copyTo(hidden)
            self.arrows[x].hide()

        self.xs = [None] * 5
        for x in xrange(0, 5):
            self.xs[x] = minnieX.copyTo(hidden)
            self.xs[x].hide()

        self.statusBalls = []
        self.totalMoves = PatternGameGlobals.INITIAL_ROUND_LENGTH + PatternGameGlobals.ROUND_LENGTH_INCREMENT * (
            PatternGameGlobals.NUM_ROUNDS - 1)
        for x in xrange(0, 4):
            self.statusBalls.append([None] * self.totalMoves)

        for x in xrange(0, 4):
            for y in xrange(0, self.totalMoves):
                self.statusBalls[x][y] = minnieCircle.copyTo(hidden)
                self.statusBalls[x][y].hide()

        minnieArrow.removeNode()
        minnieX.removeNode()
        minnieCircle.removeNode()
        matchingGameGui.removeNode()
        self.minnie = Char.Char()
        m = self.minnie
        dna = CharDNA.CharDNA()
        dna.newChar('mn')
        m.setDNA(dna)
        m.setName(TTLocalizer.Minnie)
        m.reparentTo(hidden)
        self.backRowHome = Point3(3, 11, 0)
        self.backRowXSpacing = 1.8
        self.frontRowHome = Point3(0, 18, 0)
        self.frontRowXSpacing = 3.0
        self.stdNumDanceStepPingFrames = self.minnie.getNumFrames(
            self.minnieAnimNames[0])
        self.stdNumDanceStepPingPongFrames = self.__numPingPongFrames(
            self.stdNumDanceStepPingFrames)
        self.buttonPressDelayPercent = (self.stdNumDanceStepPingFrames - 1.0
                                        ) / self.stdNumDanceStepPingPongFrames
        self.animPlayRates = []
        animPlayRate = 1.4
        animPlayRateMult = 1.06
        for i in xrange(PatternGameGlobals.NUM_ROUNDS):
            self.animPlayRates.append(animPlayRate)
            animPlayRate *= animPlayRateMult

        return
Esempio n. 2
0
    def load(self):
        gui = loader.loadModel("phase_3/models/gui/create_a_toon_gui")

        self.guiTopBar = DirectFrame(
            relief=None,
            image=gui.find("**/CrtATn_TopBar"),
            text=TTLocalizer.CreateYourToon,
            text_font=ToontownGlobals.getSignFont(),
            text_fg=(0.0, 0.65, 0.35, 1),
            text_scale=0.18,
            text_pos=(0, -0.03),
            pos=(0, 0, 0.86),
        )
        self.guiTopBar.hide()

        self.guiBottomBar = DirectFrame(
            relief=None,
            image=gui.find("**/CrtATn_BtmBar"),
            image_scale=(1.25, 1, 1),
            pos=(0.01, 0, -0.86),
        )
        self.guiBottomBar.hide()

        self.guiCheckButton = DirectButton(
            parent=self.guiBottomBar,
            relief=None,
            image=(
                gui.find("**/CrtAtoon_Btn1_UP"),
                gui.find("**/CrtAtoon_Btn1_DOWN"),
                gui.find("**/CrtAtoon_Btn1_RLLVR"),
            ),
            pos=(1.165, 0, -0.018),
            command=self.__handleNext,
            text=("", TTLocalizer.MakeAToonDone, TTLocalizer.MakeAToonDone),
            text_font=ToontownGlobals.getInterfaceFont(),
            text_scale=0.08,
            text_pos=(0, -0.03),
            text_fg=(1, 1, 1, 1),
            text_shadow=(0, 0, 0, 1),
        )
        self.guiCheckButton.hide()

        self.guiCancelButton = DirectButton(
            parent=self.guiBottomBar,
            relief=None,
            image=(
                gui.find("**/CrtAtoon_Btn2_UP"),
                gui.find("**/CrtAtoon_Btn2_DOWN"),
                gui.find("**/CrtAtoon_Btn2_RLLVR"),
            ),
            pos=(-1.179, 0, -0.011),
            command=self.__handleCancel,
            text=("", TTLocalizer.MakeAToonCancel,
                  TTLocalizer.MakeAToonCancel),
            text_font=ToontownGlobals.getInterfaceFont(),
            text_scale=0.08,
            text_pos=(0, -0.03),
            text_fg=(1, 1, 1, 1),
            text_shadow=(0, 0, 0, 1),
        )
        self.guiCancelButton.hide()

        self.guiNextButton = DirectButton(
            parent=self.guiBottomBar,
            relief=None,
            image=(
                gui.find("**/CrtAtoon_Btn3_UP"),
                gui.find("**/CrtAtoon_Btn3_DN"),
                gui.find("**/CrtAtoon_Btn3_RLVR"),
            ),
            pos=(1.165, 0, -0.018),
            command=self.__handleNext,
            text=("", TTLocalizer.MakeAToonNext, TTLocalizer.MakeAToonNext),
            text_font=ToontownGlobals.getInterfaceFont(),
            text_scale=0.08,
            text_pos=(0, -0.03),
            text_fg=(1, 1, 1, 1),
            text_shadow=(0, 0, 0, 1),
        )
        self.guiNextButton.hide()

        self.guiLastButton = DirectButton(
            parent=self.guiBottomBar,
            relief=None,
            image=(
                gui.find("**/CrtAtoon_Btn3_UP"),
                gui.find("**/CrtAtoon_Btn3_DN"),
                gui.find("**/CrtAtoon_Btn3_RLVR"),
            ),
            image_scale=(-1.0, 1, 1),
            pos=(0.825, 0, -0.018),
            command=self.__handleLast,
            text=("", TTLocalizer.MakeAToonLast, TTLocalizer.MakeAToonLast),
            text_font=ToontownGlobals.getInterfaceFont(),
            text_scale=0.08,
            text_pos=(0, -0.03),
            text_fg=(1, 1, 1, 1),
            text_shadow=(0, 0, 0, 1),
        )
        self.guiLastButton.hide()

        gui.removeNode()

        self.room = loader.loadModel("phase_3/models/gui/create_a_toon")
        self.roomWalls = self.room.find("**/wall_floor")
        self.draftingTable = self.room.find("**/drafting_table")
        self.easel = self.room.find("**/easel")
        self.sewingMachine = self.room.find("**/sewing_machine")

        ee = DirectFrame(pos=(-1, 1, 1),
                         frameSize=(-.01, .01, -.01, .01),
                         frameColor=(0, 0, 0, .05),
                         state='normal')
        ee.bind(DGG.B1PRESS, lambda x, ee=ee: self.toggleSlide())
        self.eee = ee

        # Get rid of the stool for now until we integrate it properly
        self.stool = self.room.find("**/stool")
        self.stool.hide()

        self.draftingTable.hide()
        self.easel.hide()
        self.sewingMachine.hide()

        # create an initial random, naked, grey toon
        if not self.warp:
            self.dna = ToonDNA.ToonDNA()
            if not base.cr.isPaid():
                animalIndicesToUse = ToonDNA.toonHeadAnimalIndicesTrial
            else:
                animalIndicesToUse = ToonDNA.toonHeadAnimalIndices
            animal = random.choice(animalIndicesToUse)
            head = ToonDNA.toonHeadTypes[animal]
            torso = random.choice(ToonDNA.toonTorsoTypes[-3:])
            leg = random.choice(ToonDNA.toonLegTypes)
            self.dna.newToon((head, torso, leg, 'm'))
        else:
            self.dna = ToonDNA.ToonDNA()
            self.dna.makeFromNetString(self.namelessPotAv.dna)

        self.toon = Toon.Toon()
        self.toon.setDNA(self.dna)
        # make sure the avatar uses its highest LOD
        self.toon.useLOD(1000)
        # make sure his name doesn't show up
        self.toon.setNameVisible(0)
        self.toon.startBlink()
        self.toon.startLookAround()

        # Create Mickey
        self.mickey = Char.Char()
        mickeyDNA = CharDNA.CharDNA()
        mickeyDNA.newChar('mk')
        self.mickey.setDNA(mickeyDNA)

        # Activate Mickey's nametag, so we can see what he's saying.
        #self.mickey.nametag.manage(base.marginManager)
        self.mickey.addActive()
        self.mickey.startEarTask()

        # Choose a suitable scale for his chat balloon.
        self.mickey.setNametagScale(0.8)

        # But we don't want to see his name or anything.
        self.mickey.hideName()

        # But we do want to be able to click on him.
        self.mickey.setPickable(1)

        # And we don't want his speech bubble to extend offscreen.
        self.mickey.nametag.getNametag3d().setChatWordwrap(8)

        # Create Minnie
        self.minnie = Char.Char()
        minnieDNA = CharDNA.CharDNA()
        minnieDNA.newChar('mn')
        self.minnie.setDNA(minnieDNA)

        # Activate Minnie's nametag, so we can see what she's saying.
        #self.minnie.nametag.manage(base.marginManager)
        self.minnie.addActive()
        self.minnie.startEarTask()

        # Choose a suitable scale for her chat balloon.
        self.minnie.setNametagScale(0.8)

        # But we don't want to see her name or anything.
        self.minnie.hideName()

        # But we do want to be able to click on him.
        self.minnie.setPickable(1)

        # And we don't want her speech bubble to be too big
        self.minnie.nametag.getNametag3d().setChatWordwrap(8)

        self.gs.load()
        self.bs.load()
        self.cos.load()
        self.cls.load()
        self.ns.load()

        self.music = base.loadMusic("phase_3/audio/bgm/create_a_toon.mid")
        self.musicVolume = base.config.GetFloat("makeatoon-music-volume", 0.5)
        print self.musicVolume
        self.soundBack = base.loadSfx(
            "phase_3/audio/sfx/GUI_create_toon_back.mp3")

        if base.config.GetString("language", "english") == "japanese":
            self.mickeyDialogueArray = [
                base.loadSfx("phase_3/audio/dial/CC_mickey_create01.mp3"),
                base.loadSfx("phase_3/audio/dial/CC_mickey_create02.mp3"),
                base.loadSfx("phase_3/audio/dial/CC_mickey_create03.mp3")
            ]
        else:
            self.mickeyDialogueArray = [None, None, None]

        if base.config.GetString("language", "english") == "japanese":
            self.minnieDialogueArray = [
                base.loadSfx("phase_3/audio/dial/CC_minnie_create01.mp3"),
                base.loadSfx("phase_3/audio/dial/CC_minnie_create02.mp3"),
                base.loadSfx("phase_3/audio/dial/CC_minnie_create03.mp3")
            ]
        else:
            self.minnieDialogueArray = [None, None, None]
Esempio n. 3
0
 def load(self):
     gui = loader.loadModel('phase_3/models/gui/create_a_toon_gui')
     self.guiTopBar = DirectFrame(relief=None,
                                  image=gui.find('**/CrtATn_TopBar'),
                                  text=TTLocalizer.CreateYourToon,
                                  text_font=ToontownGlobals.getSignFont(),
                                  text_fg=(0.0, 0.65, 0.35, 1),
                                  text_scale=0.03,
                                  text_pos=(0, -0.03),
                                  pos=(0, 0, 0.86))
     self.guiTopBar.hide()
     self.guiBottomBar = DirectFrame(relief=None,
                                     image=gui.find('**/CrtATn_BtmBar'),
                                     image_scale=(base.getAspectRatio() -
                                                  4.0 / 3.0 % 1.25, 1, 1),
                                     pos=(0.01, 0, -0.86))
     self.accept('aspectRatioChanged', self.aspectRatioChanged)
     self.guiBottomBar.hide()
     self.guiCheckButton = DirectButton(
         parent=self.guiBottomBar,
         relief=None,
         image=(gui.find('**/CrtAtoon_Btn1_UP'),
                gui.find('**/CrtAtoon_Btn1_DOWN'),
                gui.find('**/CrtAtoon_Btn1_RLLVR')),
         pos=(1.165, 0, -0.018),
         command=self.__handleNext,
         text=('', TTLocalizer.MakeAToonDone, TTLocalizer.MakeAToonDone),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.08,
         text_pos=(0, -0.03),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.guiCheckButton.hide()
     self.guiCancelButton = DirectButton(
         parent=self.guiBottomBar,
         relief=None,
         image=(gui.find('**/CrtAtoon_Btn2_UP'),
                gui.find('**/CrtAtoon_Btn2_DOWN'),
                gui.find('**/CrtAtoon_Btn2_RLLVR')),
         pos=(-1.179, 0, -0.011),
         command=self.__handleCancel,
         text=('', TTLocalizer.MakeAToonCancel,
               TTLocalizer.MakeAToonCancel),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=TTLocalizer.MATnextButtonScale,
         text_pos=(0, -0.03),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.guiCancelButton.hide()
     self.guiNextButton = DirectButton(
         parent=self.guiBottomBar,
         relief=None,
         image=(gui.find('**/CrtAtoon_Btn3_UP'),
                gui.find('**/CrtAtoon_Btn3_DN'),
                gui.find('**/CrtAtoon_Btn3_RLVR')),
         pos=(1.165, 0, -0.018),
         command=self.__handleNext,
         text=('', TTLocalizer.MakeAToonNext, TTLocalizer.MakeAToonNext),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=TTLocalizer.MATnextButtonScale,
         text_pos=(0, -0.03),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.guiNextButton.hide()
     self.guiLastButton = DirectButton(
         parent=self.guiBottomBar,
         relief=None,
         image=(gui.find('**/CrtAtoon_Btn3_UP'),
                gui.find('**/CrtAtoon_Btn3_DN'),
                gui.find('**/CrtAtoon_Btn3_RLVR')),
         image_scale=(-1.0, 1, 1),
         pos=(0.825, 0, -0.018),
         command=self.__handleLast,
         text=('', TTLocalizer.MakeAToonLast, TTLocalizer.MakeAToonLast),
         text_font=ToontownGlobals.getInterfaceFont(),
         text_scale=0.08,
         text_pos=(0, -0.03),
         text_fg=(1, 1, 1, 1),
         text_shadow=(0, 0, 0, 1))
     self.guiLastButton.hide()
     gui.removeNode()
     self.room = loader.loadModel('phase_3/models/gui/create_a_toon')
     self.roomWalls = self.room.find('**/wall_floor')
     self.draftingTable = self.room.find('**/drafting_table')
     self.easel = self.room.find('**/easel')
     self.sewingMachine = self.room.find('**/sewing_machine')
     ee = DirectFrame(pos=(-1, 1, 1),
                      frameSize=(-0.01, 0.01, -0.01, 0.01),
                      frameColor=(0, 0, 0, 0.05),
                      state='normal')
     ee.bind(DGG.B1PRESS, lambda x, ee=ee: self.toggleSlide())
     self.eee = ee
     self.stool = self.room.find('**/stool')
     self.stool.hide()
     self.draftingTable.hide()
     self.easel.hide()
     self.sewingMachine.hide()
     if not self.warp:
         self.dna = ToonDNA.ToonDNA()
         animalIndicesToUse = ToonDNA.toonHeadAnimalIndices[0:8]
         animal = random.choice(animalIndicesToUse)
         head = ToonDNA.toonHeadTypesMAT[animal]
         torso = random.choice(ToonDNA.toonTorsoTypes[-3:])
         leg = random.choice(ToonDNA.toonLegTypes)
         self.dna.newToon((head, torso, leg, 'm'))
     else:
         self.dna = ToonDNA.ToonDNA()
         self.dna.makeFromNetString(self.namelessPotAv.dna)
     self.toon = Toon.Toon()
     self.toon.setDNA(self.dna)
     self.toon.useLOD(1000)
     self.toon.setNameVisible(0)
     self.toon.startBlink()
     self.toon.startLookAround()
     self.mickey = Char.Char()
     mickeyDNA = CharDNA.CharDNA()
     mickeyDNA.newChar('mk')
     self.mickey.setDNA(mickeyDNA)
     self.mickey.addActive()
     self.mickey.startEarTask()
     self.mickey.setNametagScale(0.8)
     self.mickey.hideName()
     self.mickey.setPickable(1)
     self.mickey.nametag.getNametag3d().setChatWordwrap(8)
     self.minnie = Char.Char()
     minnieDNA = CharDNA.CharDNA()
     minnieDNA.newChar('mn')
     self.minnie.setDNA(minnieDNA)
     self.minnie.addActive()
     self.minnie.startEarTask()
     self.minnie.setNametagScale(0.8)
     self.minnie.hideName()
     self.minnie.setPickable(1)
     self.minnie.nametag.getNametag3d().setChatWordwrap(8)
     self.gs.load()
     self.bs.load()
     self.cos.load()
     self.cls.load()
     self.ns.load()
     self.music = base.loader.loadMusic(
         'phase_3/audio/bgm/create_a_toon.ogg')
     self.musicVolume = base.config.GetFloat('makeatoon-music-volume', 0.5)
     print self.musicVolume
     self.soundBack = base.loader.loadSfx(
         'phase_3/audio/sfx/GUI_create_toon_back.ogg')
     if base.config.GetString('language', 'english') == 'japanese':
         self.mickeyDialogueArray = [
             base.loader.loadSfx(
                 'phase_3/audio/dial/CC_mickey_create01.ogg'),
             base.loader.loadSfx(
                 'phase_3/audio/dial/CC_mickey_create02.ogg'),
             base.loader.loadSfx(
                 'phase_3/audio/dial/CC_mickey_create03.ogg')
         ]
     else:
         self.mickeyDialogueArray = [None, None, None]
     if base.config.GetString('language', 'english') == 'japanese':
         self.minnieDialogueArray = [
             base.loader.loadSfx(
                 'phase_3/audio/dial/CC_minnie_create01.ogg'),
             base.loader.loadSfx(
                 'phase_3/audio/dial/CC_minnie_create02.ogg'),
             base.loader.loadSfx(
                 'phase_3/audio/dial/CC_minnie_create03.ogg')
         ]
     else:
         self.minnieDialogueArray = [None, None, None]
     return