def __init__(self, playground):
        self.playground = playground
        self.fsm = ClassicFSM('BRWater', [
            State('off', self.enterOff, self.exitOff),
            State('freezeUp', self.enterFreezeUp, self.exitFreezeUp),
            State('coolDown', self.enterCoolDown, self.exitCoolDown),
            State('frozen', self.enterFrozen, self.exitFrozen)
        ], 'off', 'off')
        self.fsm.enterInitialState()

        #base.localAvatar.audio3d

        self.freezeUpSfx = base.loadSfx('phase_8/audio/sfx/freeze_up.ogg')
        self.frozenSfxArray = [
            base.loadSfx('phase_8/audio/sfx/frozen_1.ogg'),
            base.loadSfx('phase_8/audio/sfx/frozen_2.ogg'),
            base.loadSfx('phase_8/audio/sfx/frozen_3.ogg')
        ]
        self.coolSfxArray = [
            base.loadSfx('phase_8/audio/sfx/cool_down_1.ogg'),
            base.loadSfx('phase_8/audio/sfx/cool_down_2.ogg')
        ]

        self.iceFormSfx = base.loadSfx("phase_4/audio/sfx/ice_cube_form.ogg")
        self.iceBreakSfx = base.loadSfx("phase_4/audio/sfx/ice_cube_break.ogg")

        self.freezeUpSfx.setVolume(12)
        for sfx in self.frozenSfxArray:
            sfx.setVolume(12)
        for sfx in self.coolSfxArray:
            sfx.setVolume(12)
Ejemplo n.º 2
0
 def __init__(self, cr):
     try:
         self.DistributedSneakyGame_initialized
         return
     except:
         self.DistributedSneakyGame_initialized = 1
     DistributedMinigame.DistributedMinigame.__init__(self, cr)
     self.fsm.addState(
         State('countdown', self.enterCountdown, self.exitCountdown,
               ['play']))
     self.fsm.addState(
         State('announceGameOver', self.enterAnnounceGameOver,
               self.exitAnnounceGameOver, ['finalScores']))
     self.fsm.addState(
         State('finalScores', self.enterFinalScores, self.exitFinalScores,
               ['gameOver']))
     self.fsm.getStateNamed('waitForOthers').addTransition('countdown')
     self.fsm.getStateNamed('play').addTransition('announceGameOver')
     self.toonFps = ToonFPS(self)
     self.track = None
     self.remoteAvatars = []
     self.areas = []
     self.areaName2areaModel = {}
     self.spawnPoints = []
     self.myRemoteAvatar = None
     self.isTimeUp = False
     return
    def __init__(self, cr):
        try:
            self.DistributedCameraShyGame_initialized
            return
        except:
            self.DistributedCameraShyGame_initialized = 1
        DistributedMinigame.__init__(self, cr)
        self.headPanels.delete()
        self.headPanels = CameraShyHeadPanels()
        self.fsm.addState(
            State('countdown', self.enterCountdown, self.exitCountdown,
                  ['play']))
        self.fsm.addState(
            State('announceGameOver', self.enterAnnounceGameOver,
                  self.exitAnnounceGameOver, ['showWinner']))
        self.fsm.addState(
            State('showWinner', self.enterShowWinner, self.exitShowWinner,
                  ['gameOver']))
        self.fsm.getStateNamed('waitForOthers').addTransition('countdown')
        self.fsm.getStateNamed('play').addTransition('announceGameOver')
        self.remoteAvatars = []
        self.myRemoteAvatar = None
        self.thisPlayerWinsLbl = None
        self.olc = None
        self.firstPerson = CameraShyFirstPerson(self)
        self.skyUtil = None
        self.pbpText = None

        self.levelLoader = CameraShyLevelLoader()
        self.spawnPoints = []
    def __init__(self):
        try:
            self.Char_initialized
            return
        except:
            self.Char_initialized = 1
        Avatar.Avatar.__init__(self)
        self.avatarType = CIGlobals.CChar
        self.avatarName = None
        self.currentAnim = None
        self.charType = ""
        self.eyes = loader.loadTexture("phase_3/maps/eyes1.jpg",
                                       "phase_3/maps/eyes1_a.rgb")
        self.closedEyes = loader.loadTexture(
            "phase_3/maps/mickey_eyes_closed.jpg",
            "phase_3/maps/mickey_eyes_closed_a.rgb")
        self.animFSM = ClassicFSM('Char', [
            State('off', self.enterOff, self.exitOff),
            State('neutral', self.enterNeutral, self.exitNeutral),
            State('walk', self.enterWalk, self.exitWalk),
            State('run', self.enterRun, self.exitRun)
        ], 'off', 'off')
        animStateList = self.animFSM.getStates()
        self.animFSM.enterInitialState()
        self.charId = -1

        Avatar.Avatar.initializeBodyCollisions(self, self.avatarType, 3.5, 1)
    def __init__(self, cr):
        Suit.__init__(self)
        DistributedAvatar.__init__(self, cr)
        DistributedSmoothNode.__init__(self, cr)

        self.anim = None
        self._state = SuitState.ALIVE
        self.dept = None
        self.variant = None
        self.suitPlan = None
        self.level = None
        self.moveIval = None
        self.hpFlash = None

        # For PythonCTMusicManager:
        # Are we in range of the localAvatar?
        self.isInRange = False

        self.chaseTarget = 0

        self.suitFSM = ClassicFSM('DistributedSuit', [
            State('off', self.enterSuitOff, self.exitSuitOff),
            State('walking', self.enterWalking, self.exitWalking),
            State('flyingDown', self.enterFlyingDown, self.exitFlyingDown),
            State('flyingUp', self.enterFlyingUp, self.exitFlyingUp),
            State('lured', self.enterLured, self.exitLured)
        ], 'off', 'off')
        self.stateIndex2suitState = {}
        self.suitFSM.enterInitialState()
        self.makeStateDict()
Ejemplo n.º 6
0
 def __init__(self, hood, parentFSMState, doneEvent):
     StateData.__init__(self, doneEvent)
     self.hood = hood
     self.parentFSMState = parentFSMState
     self.fsm = ClassicFSM('safeZoneLoader', [
         State('off', self.enterOff, self.exitOff),
         State('playground', self.enterPlayground, self.exitPlayground,
               ['quietZone']),
         State('toonInterior', self.enterToonInterior,
               self.exitToonInterior, ['quietZone']),
         State('quietZone', self.enterQuietZone, self.exitQuietZone,
               ['playground', 'toonInterior'])
     ], 'off', 'off')
     self.placeDoneEvent = 'placeDone'
     self.place = None
     self.playground = None
     self.battleMusic = None
     self.invasionMusic = None
     self.invasionMusicFiles = None
     self.interiorMusic = None
     self.bossBattleMusic = None
     self.music = None
     self.tournamentMusic = None
     self.linkTunnels = []
     self.szHolidayDNAFile = None
     self.animatedFish = None
     return
    def __init__(self, parentFSM, doneEvent):
        StateData.__init__(self, "playGameDone")
        self.doneEvent = doneEvent
        self.fsm = ClassicFSM('World', [
            State('off', self.enterOff, self.exitOff, ['quietZone']),
            State('quietZone', self.enterQuietZone, self.exitQuietZone, [
                'TTHood', 'BRHood', 'DLHood', 'MLHood', 'DGHood', 'DDHood',
                'MGHood', 'CTCHood'
            ]),
            State('TTHood', self.enterTTHood, self.exitTTHood, ['quietZone']),
            State('BRHood', self.enterBRHood, self.exitBRHood, ['quietZone']),
            State('DLHood', self.enterDLHood, self.exitDLHood, ['quietZone']),
            State('MLHood', self.enterMLHood, self.exitMLHood, ['quietZone']),
            State('DGHood', self.enterDGHood, self.exitDGHood, ['quietZone']),
            State('DDHood', self.enterDDHood, self.exitDDHood, ['quietZone']),
            State('MGHood', self.enterMGHood, self.exitMGHood, ['quietZone']),
            State('CTCHood', self.enterCTCHood, self.exitCTCHood,
                  ['quietZone'])
        ], 'off', 'off')
        self.fsm.enterInitialState()

        self.parentFSM = parentFSM
        self.parentFSM.getStateNamed('playGame').addChild(self.fsm)

        self.hoodDoneEvent = 'hoodDone'
        self.hood = None
        self.quietZoneDoneEvent = uniqueName('quietZoneDone')
        self.quietZoneStateData = None
        self.place = None
        self.lastHood = None
        self.suitManager = None
    def __init__(self, cr):
        DistributedObject.__init__(self, cr)
        self.fsm = ClassicFSM('DistributedBoat', [
            State('off', self.enterOff, self.exitOff),
            State('eastToWest', self.enterEastToWest, self.exitEastToWest),
            State('westToEast', self.enterWestToEast, self.exitWestToEast)
        ], 'off', 'off')
        self.boat = None
        self.eastPier = None
        self.eastPierPath = 'east_pier'
        self.westPier = None
        self.westPierPath = 'west_pier'
        self.pierUpP = 0.0
        self.pierDownP = -45.0
        self.fogHorn = 'phase_5/audio/sfx/SZ_DD_foghorn.ogg'
        self.shipBell = 'phase_6/audio/sfx/SZ_DD_shipbell.ogg'
        self.waterLap = 'phase_6/audio/sfx/SZ_DD_waterlap.ogg'
        self.dockCreak = 'phase_6/audio/sfx/SZ_DD_dockcreak.ogg'
        self.eastWest = 'phase_6/paths/dd-e-w.bam'
        self.westEast = 'phase_6/paths/dd-w-e.bam'
        self.track = None
        self.state = None
        self.animBoat1Track = None
        self.animBoatTrack = None

        # Variables that handle the winter collision node.
        self.crashColl = None
        self.crashCollNP = None
 def __init__(self, cr):
     DistributedAvatar.__init__(self, cr)
     DistributedSmoothNode.__init__(self, cr)
     self.fsm = ClassicFSM(
         'DistributedPieTurret',
         [
             State('off', self.enterOff, self.exitOff),
             State('scan', self.enterScan, self.exitScan),
             State('shoot', self.enterShoot, self.exitShoot)
          ],
          'off', 'off'
      )
     self.fsm.enterInitialState()
     self.reloadTime = 0.25
     self.cannon = None
     self.track = None
     self.owner = None
     self.gag = None
     self.readyGag = None
     self.hitGag = None
     self.explosion = None
     self.wallCollNode = None
     self.eventCollNode = None
     self.event = None
     self.suit = None
     self.eventId = None
     self.entities = []
     self.upgradeID = None
     self.deathEvent = None
Ejemplo n.º 10
0
    def __init__(self, mg):
        self.mg = mg
        self.batteryFrame = None
        self.batteryBg = None
        self.batteryBar = None
        self.rechargeSound = None
        self.fullyChargedSound = None

        self.hasToonInFocus = False
        self.toonToTakePicOf = None

        self.cameraRechargeState = None
        self.cameraRechargingLabel = None
        self.cameraFlashSeq = None

        self.viewfinder = None

        self.camFSM = ClassicFSM('CameraFSM', [
            State('off', self.enterOff, self.exitOff),
            State('ready', self.enterCameraReady, self.exitCameraReady),
            State('recharge', self.enterCameraRecharge,
                  self.exitCameraRecharge)
        ], 'off', 'off')
        self.camFSM.enterInitialState()
        FirstPerson.__init__(self)
 def __init__(self, cr):
     try:
         self.DistributedRaceGame_initialized
         return
     except:
         self.DistributedRaceGame_initialized = 1
     DistributedMinigame.DistributedMinigame.__init__(self, cr)
     self.movement = RaceGameMovement.RaceGameMovement(base.localAvatar)
     self.skyUtil = SkyUtil()
     self.raceFSM = ClassicFSM('DistributedRaceGame', [
         State('race', self.enterRace, self.exitRace),
         State('raceTransition', self.enterRaceTransition,
               self.exitRaceTransition),
         State('off', self.enterRaceOff, self.exitRaceOff)
     ], 'off', 'off')
     self.raceFSM.enterInitialState()
     self.cr = cr
     self.track = None
     self.sky = None
     self.countSfx = base.loadSfx("phase_5/audio/sfx/firehydrant_popup.ogg")
     self.goSfx = base.loadSfx("phase_4/audio/sfx/AA_sound_whistle.ogg")
     self.game = CIGlobals.RaceGame
     self.trackPath = "phase_4/models/minigames/sprint_track.egg"
     self.skyPath = "phase_3.5/models/props/TT_sky.bam"
     self.lanePos = [(-22.00, -205.00, 0.00), (-11.66, -205.00, 0.00),
                     (0.00, -205.00, 0.00), (-33.66, -205.00, 0.00)]
     self.initialCamPos = {
         "pos": (41.10, -145.00, 25.88),
         "hpr": (135.00, 345.96, 0.0)
     }
     self.raceCamPos = (-24.52, -37.22, 25.00)
     self.lane = 0
     return
Ejemplo n.º 12
0
    def __init__(self, name):
        PandaNode.__init__(self, name)
        DirectObject.__init__(self)

        self.fsm = ClassicFSM(name, [
            State('off', self.enterOff, self.exitOff),
            State('rollover', self.enterRollover, self.exitRollover),
            State('ready', self.enterReady, self.exitReady),
            State('depressed', self.enterDepressed, self.exitDepressed),
            State('inactive', self.enterInactive, self.exitInactive)], 'off', 'off')
        self.fsm.enterInitialState()

        self.active = True
        self.lastClickState = PGButton.SReady
        self.clickState = PGButton.SReady
        self.__hovering = False
        self.clickEvent = ''
        self.clickExtraArgs = []
        self.contents = NodePath.anyPath(self).attachNewNode('contents')

        # Create a MouseWatcherRegion:
        self.regionName = self.getUniqueName() + '-region'
        self.region = MouseWatcherRegion(self.regionName, 0, 0, 0, 0)
        base.mouseWatcherNode.addRegion(self.region)

        # Accept the mouse events:
        enterPattern = base.mouseWatcherNode.getEnterPattern()
        leavePattern = base.mouseWatcherNode.getLeavePattern()
        buttonDownPattern = base.mouseWatcherNode.getButtonDownPattern()
        buttonUpPattern = base.mouseWatcherNode.getButtonUpPattern()
        self.accept(enterPattern.replace('%r', self.regionName), self.__handleMouseEnter)
        self.accept(leavePattern.replace('%r', self.regionName), self.__handleMouseLeave)
        self.accept(buttonDownPattern.replace('%r', self.regionName), self.__handleMouseDown)
        self.accept(buttonUpPattern.replace('%r', self.regionName), self.__handleMouseUp)
Ejemplo n.º 13
0
    def __init__(self, doneEvent, moveOn = 1):
        StateData.__init__(self, doneEvent)
        self.fsm = ClassicFSM('quietZone',
                        [State('off',
                        self.enterOff,
                        self.exitOff,
                        ['waitForQuietZoneResponse']),

                        State('waitForQuietZoneResponse',
                        self.enterWaitForQuietZoneResponse,
                        self.exitWaitForQuietZoneResponse,
                        ['waitForSetZoneResponse']),

                        State('waitForSetZoneResponse',
                        self.enterWaitForSetZoneResponse,
                        self.exitWaitForSetZoneResponse,
                        ['waitForSetZoneComplete']),

                        State('waitForSetZoneComplete',
                        self.enterWaitForSetZoneComplete,
                        self.exitWaitForSetZoneComplete,
                        ['off'])],
                        'off', 'off')
        self.fsm.enterInitialState()
        self.moveOn = moveOn
Ejemplo n.º 14
0
 def __init__(self, doneEvent):
     StateData.__init__(self, doneEvent)
     self.fsm = ClassicFSM('Walk', [
         State('off', self.enterOff, self.exitOff, ['walking', 'deadWalking']),
         State('walking', self.enterWalking, self.exitWalking),
         State('deadWalking', self.enterDeadWalking, self.exitDeadWalking)],
         'off', 'off')
     self.fsm.enterInitialState()
Ejemplo n.º 15
0
 def __init__(self, book):
     BookPage.__init__(self, book, 'Options', wantHeader=True)
     self.fsm = ClassicFSM('OptionPage', [
         State('off', self.enterOff, self.exitOff),
         State('basePage', self.enterBasePage, self.exitBasePage),
         State('displayPage', self.enterDisplayPage, self.exitDisplayPage)
     ], 'off', 'off')
     self.fsm.enterInitialState()
Ejemplo n.º 16
0
 def __init__(self, parentFSM, doneEvent):
     World.__init__(self, doneEvent)
     self.fsm.setName(CIGlobals.OToontown)
     self.fsm.addState(State('MGHood', self.enterMGHood, self.exitMGHood, ['quietZone']))
     self.fsm.addState(State('CTHood', self.enterCTHood, self.exitCTHood, ['quietZone']))
     self.fsm.getStateNamed('quietZone').addTransition('MGHood')
     self.fsm.getStateNamed('quietZone').addTransition('CTHood')
     self.parentFSM = parentFSM
     self.parentFSM.getStateNamed(CIGlobals.OToontown).addChild(self.fsm)
    def __init__(self, cr):
        try:
            self.DistributedDodgeballGame_initialized
            return
        except:
            self.DistributedDodgeballGame_initialized = 1

        DistributedToonFPSGame.__init__(self, cr)
        TeamMinigame.__init__(self, 'BlueSnow', ('phase_4/maps/db_blue_neutral.png',
                                                 'phase_4/maps/db_blue_hover.png',
                                                 'phase_4/maps/db_blue_hover.png'), 'RedIce', ('phase_4/maps/db_red_neutral.png',
                                                                                               'phase_4/maps/db_red_hover.png',
                                                                                               'phase_4/maps/db_red_hover.png'))
        self.fsm.addState(State('chooseTeam', self.enterChooseTeam, self.exitChooseTeam, ['waitForOthers']))
        self.fsm.addState(State('scrollBy', self.enterScrollBy, self.exitScrollBy, ['countdown']))
        self.fsm.addState(State('countdown', self.enterCountdown, self.exitCountdown, ['play']))
        self.fsm.addState(State('announceGameOver', self.enterAnnGameOver, self.exitAnnGameOver, ['displayWinners']))
        self.fsm.addState(State('displayWinners', self.enterDisplayWinners, self.exitDisplayWinners, ['gameOver']))
        self.fsm.getStateNamed('waitForOthers').addTransition('chooseTeam')
        self.fsm.getStateNamed('waitForOthers').addTransition('scrollBy')
        self.fsm.getStateNamed('play').addTransition('announceGameOver')
        self.firstPerson = DodgeballFirstPerson(self)
        self.scrollBySeq = None
        self.infoText = None
        self.redScoreLbl = None
        self.blueScoreLbl = None
        self.infoText = getAlertText()
        self.spawnPointsByTeam = {BLUE: [
                [
                 Point3(5, 15, 0), Vec3(180, 0, 0)],
                [
                 Point3(15, 15, 0), Vec3(180, 0, 0)],
                [
                 Point3(-5, 15, 0), Vec3(180, 0, 0)],
                [
                 Point3(-15, 15, 0), Vec3(180, 0, 0)]], 
           RED: [
               [
                Point3(5, -15, 0), Vec3(0, 0, 0)],
               [
                Point3(15, -15, 0), Vec3(0, 0, 0)],
               [
                Point3(-5, -15, 0), Vec3(0, 0, 0)],
               [
                Point3(-15, -15, 0), Vec3(0, 0, 0)]]}
        self.winnerMusic = base.loadMusic('phase_9/audio/bgm/encntr_hall_of_fame.mid')
        self.loserMusic = base.loadMusic('phase_9/audio/bgm/encntr_sting_announce.mid')
        self.danceSound = base.loadSfx('phase_3.5/audio/sfx/ENC_Win.ogg')
        self.sky = None
        self.arena = None
        self.fog = None
        self.snow = None
        self.snowRender = None
        self.trees = []
        self.snowballs = []
        return
Ejemplo n.º 18
0
 def __init__(self, cr):
     DistributedSuit.__init__(self, cr)
     self.doorDoId = None
     self.door = None
     self.takeOverTrack = None
     self.fsm = ClassicFSM('DTOS-fsm',
                           [State('off', self.enterOff, self.exitOff),
                            State('takeOver', self.enterTakeOver, self.exitTakeOver)],
                           'off', 'off')
     self.fsm.enterInitialState()
 def __init__(self, cr):
     DistributedAvatar.__init__(self, cr)
     self.owner = None
     self.movementFSM = ClassicFSM('Pet', [
         State('off', self.enterOff, self.exitOff),
         State('forward', self.enterMoveForward, self.exitMoveForward),
         State('backward', self.enterMoveBackward, self.exitMoveBackward),
         State('left', self.enterTurnLeft, self.exitTurnLeft),
         State('right', self.enterTurnRight, self.exitTurnRight)
     ], 'off', 'off')
 def __init__(self, parentFSM, doneEvent):
     self.parentFSM = parentFSM
     StateData.__init__(self, doneEvent)
     self.fsm = ClassicFSM('ShtickerBook', [
         State('off', self.enterOff, self.exitOff),
         State('optionPage', self.enterOptionPage, self.exitOptionPage,
               ['districtPage', 'off']),
         State('districtPage', self.enterDistrictPage,
               self.exitDistrictPage, ['optionPage', 'questPage', 'off']),
         State('questPage', self.enterQuestPage, self.exitQuestPage,
               ['inventoryPage', 'districtPage', 'off']),
         State('inventoryPage', self.enterInventoryPage,
               self.exitInventoryPage, ['mapPage', 'questPage', 'off']),
         State('mapPage', self.enterMapPage, self.exitMapPage,
               ['inventoryPage', 'off']),
         State('releaseNotesPage', self.enterReleaseNotesPage,
               self.exitReleaseNotesPage, ['mapPage', 'off']),
         State('adminPage', self.enterAdminPage, self.exitAdminPage,
               ['mapPage', 'namePage', 'off']),
         State('namePage', self.enterNamePage, self.exitNamePage,
               ['adminPage', 'off'])
     ], 'off', 'off')
     if base.localAvatar.getAdminToken() > -1:
         self.fsm.getStateNamed('mapPage').addTransition('adminPage')
     self.fsm.enterInitialState()
     self.entered = 0
     self.parentFSM.getStateNamed('shtickerBook').addChild(self.fsm)
Ejemplo n.º 21
0
	def __init__(self, book, parentFSM):
		self.book = book
		self.parentFSM = parentFSM
		StateData.__init__(self, 'adminPageDone')
		self.fsm = ClassicFSM('AdminPage', [State('off', self.enterOff, self.exitOff),
			State('basePage', self.enterBasePage, self.exitBasePage),
			State('kickSection', self.enterKickSection, self.exitKickSection),
			State('sysMsgSection', self.enterSysMsgSection, self.exitSysMsgSection)],
			'off', 'off')
		self.fsm.enterInitialState()
		self.parentFSM.getStateNamed('adminPage').addChild(self.fsm)
    def __init__(self, book, parentFSM):
        self.book = book
        self.parentFSM = parentFSM
        StateData.__init__(self, 'namePageDone')
        self.fsm = ClassicFSM('NamePage', [
            State('off', self.enterOff, self.exitOff),
            State('basePage', self.enterBasePage, self.exitBasePage)
        ], 'off', 'off')
        self.fsm.enterInitialState()
        self.parentFSM.getStateNamed('namePage').addChild(self.fsm)
        self.nameServ = base.cr.nameServicesManager
        self.baseRequestIndex = 0
        self.requestsPerCluster = 5

        # GUI elements
        self.requestsContainer = {}
        self.loadingLabel = None
        self.selectedName = None
        self.nameButtons = []
        self.avId2NameData = {}

        geom = CIGlobals.getDefaultBtnGeom()
        self.acceptBtn = DirectButton(
            geom=geom,
            text_scale=0.04,
            relief=None,
            scale=0.5,
            text="Accept",
            pos=(0.5, posY, 0),
            text_pos=(0, -0.01),
            command=self.acceptName,
        )
        self.acceptBtn.hide()
        self.declineBtn = DirectButton(
            geom=geom,
            text_scale=0.04,
            relief=None,
            scale=0.5,
            text="Decline",
            pos=(0.75, posY, 0),
            text_pos=(0, -0.01),
            command=self.declineName,
        )
        self.declineBtn.hide()
        self.avIdLbl = OnscreenText(text="",
                                    scale=0.08,
                                    pos=(0.3, 0, 0.5),
                                    align=TextNode.ACenter)
        self.avIdLbl.hide()
        self.accIdLbl = OnscreenText(text="",
                                     scale=0.08,
                                     pos=(0.3, 0, 0.3),
                                     align=TextNode.ACenter)
        self.accIdLbl.hide()
Ejemplo n.º 23
0
 def __init__(self, book, parentFSM):
     self.book = book
     self.parentFSM = parentFSM
     StateData.__init__(self, 'optionPageDone')
     self.fsm = ClassicFSM('OptionPage', [
         State('off', self.enterOff, self.exitOff),
         State('basePage', self.enterBasePage, self.exitBasePage),
         State('displayPage', self.enterDisplayPage, self.exitDisplayPage)
     ], 'off', 'off')
     self.fsm.enterInitialState()
     self.parentFSM.getStateNamed('optionPage').addChild(self.fsm)
Ejemplo n.º 24
0
 def __init__(self, parentFSM):
     StateData.__init__(self, "avChooseDone")
     self.avChooseFSM = ClassicFSM('avChoose', [State('getToonData', self.enterGetToonData, self.exitGetToonData),
                             State('avChoose', self.enterAvChoose, self.exitAvChoose),
                             State('waitForToonDelResponse', self.enterWaitForToonDelResponse,
                                 self.exitWaitForToonDelResponse),
                             State('off', self.enterOff, self.exitOff)], 'off', 'off')
     self.avChooseFSM.enterInitialState()
     self.parentFSM = parentFSM
     self.parentFSM.getStateNamed('avChoose').addChild(self.avChooseFSM)
     self.pickAToon = None
     self.setAvatarsNone()
Ejemplo n.º 25
0
    def __init__(self, cr):
        DistributedObject.__init__(self, cr)

        self.fsm = ClassicFSM(self.__class__.__name__, [
            State('off', self.enterOff, self.exitOff, ['morning']),
            State('morning', self.enterMorning, self.exitMorning, ['afternoon']),
            State('afternoon', self.enterAfternoon, self.exitAfternoon, ['evening']),
            State('evening', self.enterEvening, self.exitEvening, ['midnight']),
            State('midnight', self.enterMidnight, self.exitMidnight, ['morning'])], 'off', 'off')

        self.fsm.enterInitialState()
        self.__interval = None
 def __init__(self, cr):
     try:
         self.DistributedMinigame_initialized
         return
     except:
         self.DistributedMinigame_initialized = 1
     DistributedObject.DistributedObject.__init__(self, cr)
     Timer.Timer.__init__(self)
     self.headPanels = HeadPanels()
     self.finalScoreUI = FinalScoreGUI()
     self.fsm = ClassicFSM('DistributedMinigame', [
         State('start', self.enterStart, self.exitStart, ['waitForOthers']),
         State('waitForOthers', self.enterWaitForOthers,
               self.exitWaitForOthers, ['play']),
         State('play', self.enterPlay, self.exitPlay, ['gameOver']),
         State('gameOver', self.enterGameOver, self.exitGameOver, ['off']),
         State('off', self.enterOff, self.exitOff)
     ], 'off', 'off')
     self.fsm.enterInitialState()
     self.cr = cr
     self.localAv = base.localAvatar
     self.localAvId = self.localAv.doId
     self.musicPath = "phase_4/audio/bgm/trolley_song.ogg"
     self.winSfx = base.loadSfx("phase_4/audio/sfx/MG_win.ogg")
     self.loseSfx = base.loadSfx("phase_4/audio/sfx/MG_lose.ogg")
     self.prizeHigh = base.loadSfx("phase_6/audio/sfx/KART_Applause_1.ogg")
     self.prizeLow = base.loadSfx("phase_6/audio/sfx/KART_Applause_4.ogg")
     self.music = None
     self.description = ""
     self.descDialog = None
     self.winnerPrize = 0
     self.loserPrize = 0
     self.round = 0
     self.numPlayers = 0
     self.winnerMsg = "Winner!\nYou have earned: %s Jellybeans"
     self.loserMsg = "Loser!\nYou have earned: %s Jellybeans"
     self.allWinnerMsgs = [
         "Nice try!\nYou have earned: %s", "Good job!\nYou have earned: %s",
         "Way to go!\nYou have earned: %s", "Awesome!\nYou have earned: %s"
     ]
     self.timer = None
     self.timeLbl = None
     self.alertText = None
     self.alertPulse = None
     self.popupSound = None
     self.gameOverLbl = OnscreenText(text="TIME'S\nUP!",
                                     scale=0.25,
                                     font=CIGlobals.getMickeyFont(),
                                     fg=(1, 0, 0, 1))
     self.gameOverLbl.setBin('gui-popup', 60)
     self.gameOverLbl.hide()
     return
Ejemplo n.º 27
0
    def __init__(self):
        DirectObject.__init__(self)
        self.backpack = base.localAvatar.backpack

        if not self.backpack:
            return
        self.backpack.loadoutGUI = self

        self.oneSlotPos = [(0, 0, 0)]
        self.twoSlotsPos = [(0, 0, 0.30), (0, 0, -0.2)]
        self.threeSlotsPos = [(0, 0, 0.5), (0, 0, 0), (0, 0, -0.5)]
        self.fourSlotPos = [(0, 0, 0.5), (0, 0, 0.15), (0, 0, -0.2),
                            (0, 0, -0.55)]
        self.availableSlot = 0
        self.slots = []
        self.activeSlot = None
        self.defaultSlots = 3
        self.prevSlot = None
        self.ammoLabel = None

        self.inventoryFrame = DirectFrame(parent=base.a2dRightCenter,
                                          pos=(-0.1725, 0, 0))

        self.visibilityBtn = DirectButton(text="",
                                          relief=None,
                                          text_bg=(1, 1, 1, 0),
                                          parent=base.a2dRightCenter,
                                          pos=(-0.1725, 0, 0),
                                          frameSize=(-0.2, 0.2, -0.725, 0.7),
                                          clickSound=None,
                                          rolloverSound=None)
        self.visibilityBtn.bind(DGG.WITHIN, self.__handleVisEnter)
        self.visibilityBtn.bind(DGG.WITHOUT, self.__handleVisExit)
        self.visibilityBtn.setBin('background', 10)

        self.visibilityBtn = None
        self.visibilityBtnStatus = 0
        self.switchSound = True
        self.switchSoundSfx = base.loadSfx(
            "phase_3/audio/sfx/GUI_balloon_popup.ogg")

        self.visibilityFSM = ClassicFSM('InventoryGui-VisibilityFSM', [
            State('off', self.enterOff, self.exitOff),
            State('hidden', self.enterHidden, self.exitHidden),
            State('hidden2visible', self.enterHidden2Visible,
                  self.exitHidden2Visible),
            State('visible', self.enterVisible, self.exitVisible),
            State('visible2hidden', self.enterVisible2Hidden,
                  self.exitVisible2Hidden)
        ], 'off', 'off')
        self.visibilityFSM.enterInitialState()
        self.visibilityFSM.request('hidden')
Ejemplo n.º 28
0
 def __init__(self, mg, cr, avId, gunName="pistol"):
     RemoteAvatar.__init__(self, mg, cr, avId)
     self.track = None
     self.gunName = gunName
     self.fsm = ClassicFSM('RemoteToonBattleAvatar', [
         State('off', self.enterOff, self.exitOff),
         State('shoot', self.enterShoot, self.exitShoot),
         State('die', self.enterDie, self.exitDie),
         State('dead', self.enterDead, self.exitDead)
     ], 'off', 'off')
     self.fsm.enterInitialState()
     self.soundGrunt = None
     self.retrieveAvatar()
Ejemplo n.º 29
0
	def __init__(self):
		try:
			self.Suit_initialized
			return
		except:
			self.Suit_initialized = 1
		
		Avatar.Avatar.__init__(self)
		self.avatarType = CIGlobals.Suit
		self.name = ''
		self.chat = ''
		self.suit = None
		self.suitHeads = None
		self.suitHead = None
		self.loserSuit = None
		self.healthMeterGlow = None
		self.healthMeter = None
		self.weapon = None
		self.weapon_sfx = None
		self.anim = None
		self.suit_dial = None
		self.shadow = None
		self.balloon_sfx = None
		self.add_sfx = None
		self.explosion = None
		self.largeExp = None
		self.smallExp = None
		self.death_sfx = None
		self.attack = None
		self.wtrajectory = None
		self.throwObjectId = None
		self.hasSpawned = False
		self.condition = 0
		self.type = ""
		self.head = ""
		self.team = ""
		self.isSkele = 0
		self.animFSM = ClassicFSM('Suit', [State('off', self.enterOff, self.exitOff),
								State('neutral', self.enterNeutral, self.exitNeutral),
								State('walk', self.enterWalk, self.exitWalk),
								State('die', self.enterDie, self.exitDie),
								State('attack', self.enterAttack, self.exitAttack),
								State('flydown', self.enterFlyDown, self.exitFlyDown),
								State('pie', self.enterPie, self.exitPie),
								State('win', self.enterWin, self.exitWin),
								State('flyaway', self.enterFlyAway, self.exitFlyAway),
								State('rollodex', self.enterRollodex, self.exitRollodex)], 'off', 'off')
		animStateList = self.animFSM.getStates()
		self.animFSM.enterInitialState()
		
		self.initializeBodyCollisions()
Ejemplo n.º 30
0
    def __init__(self, air, hood, wingType):
        DistributedNodeAI.__init__(self, air)
        self.hood = hood
        self.wingType = wingType
        self.state = 0
        self.stateChangeTimestamp = 0.0
        self.fromLoc = 0
        self.toLoc = 0

        self.fsm = ClassicFSM('DBFAI', [State('off', self.enterOff, self.exitOff),
                                        State('sit', self.enterSit, self.exitSit),
                                        State('fly', self.enterFly, self.exitFly)],
                              'off', 'off')
        self.fsm.enterInitialState()
Ejemplo n.º 31
0
def replaceStateFunc(replaceFuncList):
    if not sys.modules.get('base.direct.fsm.State'):
        return
    from direct.fsm.State import State
    for oldFunc, funcName, newFunc in replaceFuncList:
        res = State.replaceMethod(oldFunc, newFunc)
        if res:
            print ('replaced %s FSM transition function(s): %s' % (res, funcName))