示例#1
0
    def enterWalk(self, teleportIn=0, wantMouse=1):
        self.walkStateData.enter(wantMouse)
        if teleportIn == 0:
            self.walkStateData.fsm.request('walking')
        self.acceptOnce(self.walkDoneEvent, self.handleWalkDone)
        self.walkStateData.fsm.request('walking')
        self.watchTunnelSeq = Sequence(Wait(1.0),
                                       Func(LinkTunnel.globalAcceptCollisions))
        self.watchTunnelSeq.start()
        NametagGlobals.setWantActiveNametags(True)
        NametagGlobals.makeTagsReady()

        if base.localAvatar.getBattleZone():
            if self.useFirstPerson:
                base.localAvatar.stopSmartCamera()
                camera.setPos(base.localAvatar.smartCamera.firstPersonCamPos)
                self.firstPerson.start()
                self.firstPerson.reallyStart()
                self.firstPerson.disableMouse()
                base.localAvatar.getGeomNode().show()
                base.localAvatar.getShadow().hide()
                base.localAvatar.find('**/torso-top').hide()
                base.localAvatar.find('**/torso-bot').hide()
                base.localAvatar.getPart('head').hide()
            base.localAvatar.setBusy(1)
        else:
            base.localAvatar.setBusy(0)
            base.localAvatar.enablePicking()
            base.localAvatar.showFriendButton()
            base.localAvatar.questManager.enableShowQuestsHotkey()
        messenger.send(CIGlobals.ENTER_WALK_EVENT, [])
    def end(self):
        base.setBackgroundColor(CIGlobals.DefaultBackgroundColor)
        taskMgr.remove("renderFrames")
        render.show()

        if self.mustRestoreHiddenAspect2d:
            base.aspect2d.hide()
            self.mustRestoreHiddenAspect2d = False

        self.progress_bar.finish()
        self.bg_img.reparentTo(hidden)
        self.logoNode.reparentTo(hidden)
        self.barShadow.reparentTo(hidden)
        self.bg.reparentTo(hidden)

        # Let's get rid of the extra texture stage.
        self.bg.setTexture(self.defaultBgTexture, 1)

        self.bgm.reparentTo(hidden)
        self.loading_lbl.reparentTo(hidden)
        self.progress_bar.reparentTo(hidden)
        self.toontipFrame.reparentTo(hidden)
        base.transitions.fadeScreen(1.0)
        NametagGlobals.setWant2dNametags(True)
        self.renderFrames()
示例#3
0
    def exitWalk(self):
        self.walkStateData.exit()
        self.ignore(self.walkDoneEvent)
        if base.cr.playGame.hood.titleText != None:
            base.cr.playGame.hood.hideTitleText()
        if hasattr(self, 'watchTunnelSeq'):
            self.watchTunnelSeq.pause()
            del self.watchTunnelSeq
        NametagGlobals.setWantActiveNametags(False)
        NametagGlobals.makeTagsInactive()

        if base.localAvatar.getBattleZone():
            base.localAvatar.setBusy(1)

        base.localAvatar.disablePicking()
        self.hideFriendsStuff()
        if base.localAvatar.invGui:
            base.localAvatar.invGui.disable()
        if base.localAvatar.questManager:
            base.localAvatar.questManager.disableShowQuestsHotkey()
        if self.useFirstPerson:
            if base.localAvatar.getBattleZone():
                self.firstPerson.enableMouse()
                self.firstPerson.end()
                self.firstPerson.reallyEnd()
                base.localAvatar.getShadow().show()
                base.localAvatar.find('**/torso-top').show()
                base.localAvatar.find('**/torso-bot').show()
                base.localAvatar.getPart('head').show()
        return
 def announceGenerate(self):
     DistributedObject.DistributedObject.announceGenerate(self)
     base.minigame = self
     self.alertText = getAlertText()
     self.popupSound = base.loadSfx(
         'phase_3/audio/sfx/GUI_balloon_popup.ogg')
     NametagGlobals.setWant2dNametags(False)
     if not base.localAvatar.walkControls.getCollisionsActive():
         base.localAvatar.walkControls.setCollisionsActive(1)
示例#5
0
 def exitShtickerBook(self):
     base.localAvatar.stopPosHprBroadcast()
     base.localAvatar.disableLaffMeter()
     self.ignore(self.shtickerBookStateData.doneEvent)
     self.shtickerBookStateData.exit()
     self.shtickerBookStateData.unload()
     del self.shtickerBookStateData
     base.localAvatar.hideBookButton()
     self.hideFriendsStuff()
     NametagGlobals.setWantActiveNametags(False)
     NametagGlobals.makeTagsInactive()
     self.ignore('escape-up')
示例#6
0
 def enterShtickerBookGui(self):
     doneEvent = 'shtickerBookDone'
     self.shtickerBookStateData = ShtickerBook(doneEvent)
     self.acceptOnce(doneEvent, self.__shtickerBookDone)
     self.shtickerBookStateData.load()
     self.shtickerBookStateData.enter(self.lastBookPage)
     base.localAvatar.showBookButton(1)
     base.localAvatar.b_setAnimState('readBook')
     base.localAvatar.showFriendButton()
     NametagGlobals.setWantActiveNametags(True)
     NametagGlobals.makeTagsReady()
     self.acceptOnce('escape-up', base.localAvatar.bookButtonClicked, [0])
    def begin(self, hood, range, wantGui):
        render.hide()
        NametagGlobals.setWant2dNametags(False)

        if base.aspect2d.isHidden():
            base.aspect2d.show()
            self.mustRestoreHiddenAspect2d = True

        self.renderFrames()
        base.setBackgroundColor(0, 0, 0)
        if hood == "localAvatarEnterGame":
            self.loading_lbl['text'] = "Entering..."
        elif hood == "init":
            self.loading_lbl['text'] = "Loading..."
        else:
            self.loading_lbl['text'] = "Heading to %s..." % hood
        self.progress_bar['barColor'] = self.BarColor
        self.progress_bar['range'] = range
        self.bgm.reparentTo(aspect2d)

        ZoneUtil.Hood2ZoneId.keys()

        # We only want to show special loading screens for actual in-game locations.
        if hood in ZoneUtil.Hood2ZoneId.keys():
            abbr = ZoneUtil.ZoneId2HoodAbbr.get(
                ZoneUtil.Hood2ZoneId.get(hood)).lower()
            bgTexture = loader.loadTexture(
                'phase_14/maps/{0}_loading.png'.format(abbr), okMissing=True)

            if bgTexture:
                self.bg.setTexture(bgTexture, 1)

        self.barShadow.reparentTo(aspect2d)
        self.bg.reparentTo(render2d)
        self.bg_img.reparentTo(hidden)
        self.loading_lbl.reparentTo(aspect2d)
        self.logoNode.reparentTo(aspect2d)
        self.progress_bar.reparentTo(aspect2d)
        tip = random.choice(CIGlobals.ToonTips)
        self.toontipLbl.setText("TOON TIP:\n" + tip)
        self.toontipFrame.reparentTo(aspect2d)
        self.__count = 0
        self.__expectedCount = range
        self.progress_bar.update(self.__count)
    def enterRideElevator(self, ts):
        elevator = self.elevators[0]

        NametagGlobals.setWant2dNametags(False)

        tauntSuit = self.suits.get(self.tauntSuitId)
        if tauntSuit:
            tauntSuit.headsUp(self.elevators[0].getElevatorModel())

        base.camLens.setFov(CIGlobals.OriginalCameraFov)
        camera.reparentTo(elevator.getElevatorModel())
        camera.setPos(0, 14, 4)
        camera.setHpr(180, 0, 0)

        base.playMusic(self.rideElevatorMusic, looping=1)
        base.transitions.refreshGraphicsEngine()
        base.transitions.irisIn(t=1.5, blendType='easeOut')

        self.elevatorTrack = getRideElevatorInterval()
        self.elevatorTrack.append(Func(self.__doFloorTextPulse))
        self.elevatorTrack.append(
            getOpenInterval(self, elevator.getLeftDoor(),
                            elevator.getRightDoor(), self.openSfx, None))
        self.elevatorTrack.start(ts)
示例#9
0
    def __shtickerBookDone(self):
        self.hideFriendsStuff()
        NametagGlobals.setWantActiveNametags(False)
        NametagGlobals.makeTagsInactive()
        self.ignore('escape-up')
        doneStatus = self.shtickerBookStateData.getDoneStatus()
        base.localAvatar.hideBookButton()
        self.shtickerBookStateData.exit()

        data = []
        if doneStatus['mode'] == 'exit':
            data = [self.__handleBookCloseExit, []]
        elif doneStatus['mode'] == 'teleport':
            data = [self.__handleBookCloseTeleport, [doneStatus]]
        elif doneStatus['mode'] == 'resume':
            data = [self.__handleBookCloseResume, [doneStatus]]
        elif doneStatus['mode'] == 'switchShard':
            data = [self.__handleBookCloseSwitchShard, [doneStatus]]

        if base.localAvatar.isFirstPerson():
            # Don't wait for an animation we can't see.
            data[0](*data[1])
        else:
            base.localAvatar.b_setAnimState('closeBook', data[0], data[1])
 def disable(self):
     self.deleteTimer()
     base.localAvatar.getGeomNode().setColorScale(VBase4(1, 1, 1, 1))
     if hasattr(self, 'gameOverLbl') and self.gameOverLbl is not None:
         self.gameOverLbl.destroy()
         self.gameOverLbl = None
     NametagGlobals.setWant2dNametags(True)
     base.localAvatar.setPosHpr(0, 0, 0, 0, 0, 0)
     if hasattr(self, 'fsm'):
         self.fsm.requestFinalState()
         del self.fsm
     self.winSfx = None
     self.loseSfx = None
     self.prizeHigh = None
     self.prizeLow = None
     if self.headPanels is not None:
         self.headPanels.delete()
         self.headPanels = None
     if self.finalScoreUI is not None:
         self.finalScoreUI.unload()
         self.finalScoreUI = None
     self.numPlayers = None
     base.minigame = None
     DistributedObject.DistributedObject.disable(self)
    def enterBattle(self, ts):
        NametagGlobals.setWant2dNametags(True)

        base.localAvatar.walkControls.setCollisionsActive(1)
        self.cr.playGame.getPlace().fsm.request('walk')
        base.localAvatar.hideBookButton()
示例#12
0
    ConfigVariableDouble('decompressor-step-time').setValue(0.01)
    ConfigVariableDouble('extractor-step-time').setValue(0.01)

    from direct.gui import DirectGuiGlobals
    DirectGuiGlobals.setDefaultFontFunc(CIGlobals.getToonFont)
    DirectGuiGlobals.setDefaultFont(CIGlobals.getToonFont())
    DirectGuiGlobals.setDefaultRolloverSound(
        loader.loadSfx("phase_3/audio/sfx/GUI_rollover.ogg"))
    DirectGuiGlobals.setDefaultClickSound(
        loader.loadSfx("phase_3/audio/sfx/GUI_create_toon_fwd.ogg"))
    DirectGuiGlobals.setDefaultDialogGeom(
        loader.loadModel("phase_3/models/gui/dialog_box_gui.bam"))

    from src.coginvasion.nametag import NametagGlobals
    NametagGlobals.setMe(base.cam)
    NametagGlobals.setCardModel('phase_3/models/props/panel.bam')
    NametagGlobals.setArrowModel('phase_3/models/props/arrow.bam')
    NametagGlobals.setChatBalloon3dModel('phase_3/models/props/chatbox.bam')
    NametagGlobals.setChatBalloon2dModel(
        'phase_3/models/props/chatbox_noarrow.bam')
    NametagGlobals.setThoughtBalloonModel(
        'phase_3/models/props/chatbox_thought_cutout.bam')
    chatButtonGui = loader.loadModel('phase_3/models/gui/chat_button_gui.bam')
    NametagGlobals.setPageButton(chatButtonGui.find('**/Horiz_Arrow_UP'),
                                 chatButtonGui.find('**/Horiz_Arrow_DN'),
                                 chatButtonGui.find('**/Horiz_Arrow_Rllvr'),
                                 chatButtonGui.find('**/Horiz_Arrow_UP'))
    NametagGlobals.setQuitButton(chatButtonGui.find('**/CloseBtn_UP'),
                                 chatButtonGui.find('**/CloseBtn_DN'),
                                 chatButtonGui.find('**/CloseBtn_Rllvr'),