Example #1
0
    def __init__(self, zoneId, golfCourse, holeId):
        FSM.__init__(self, "Golf_%s_FSM" % (self.id))
        DistributedPhysicsWorldAI.DistributedPhysicsWorldAI.__init__(
            self, simbase.air)
        GolfHoleBase.GolfHoleBase.__init__(self)
        self.zoneId = zoneId
        self.golfCourse = golfCourse
        self.holeId = holeId
        self.avIdList = golfCourse.avIdList[:]
        self.watched = [0, 0, 0, 0]
        self.barrierPlayback = None

        self.trustedPlayerId = None
        self.activeGolferIndex = None
        self.activeGolferId = None

        self.holeInfo = GolfGlobals.HoleInfo[self.holeId]

        # -1 means he hasn't chosen a tee pos yet, otherwise its 0-left, 1-center or 2-right
        self.teeChosen = {}
        for avId in self.avIdList:
            self.teeChosen[avId] = -1

        self.ballPos = {}
        for avId in self.avIdList:
            self.ballPos[avId] = Vec3(0, 0, 0)

        self.playStarted = False
 def __init__(self,
              air,
              lawOfficeId,
              bldg,
              avIds,
              markerId=None,
              numSeats=4,
              antiShuffle=0,
              minLaff=0):
     DistributedElevatorFSMAI.DistributedElevatorFSMAI.__init__(
         self,
         air,
         bldg,
         numSeats,
         antiShuffle=antiShuffle,
         minLaff=minLaff)
     FSM.__init__(self, 'ElevatorFloor_%s_FSM' % self.id)
     self.type = ELEVATOR_STAGE
     self.countdownTime = ElevatorData[self.type]['countdown']
     self.lawOfficeId = lawOfficeId
     self.anyToonsBailed = 0
     self.avIds = avIds
     self.isEntering = 0
     self.isLocked = 0
     self.setLocked(0)
     self.wantState = None
     self.latchRoom = None
     self.setLatch(markerId)
     self.zoneId = bldg.zoneId
     return
    def __init__(self):
        TelevisionScene.__init__(self, 'SellbotScene')
        FSM.__init__(self, 'SellbotScene')

        self.background = loader.loadModel('phase_9/models/cogHQ/SellbotHQLobby.bam')
        self.background.reparentTo(self)

        self.boss = BossCog()
        dna = SuitDNA()
        dna.newBossCog('s')
        self.boss.setDNA(dna)
        self.boss.reparentTo(self)
        self.boss.setPosHpr(6.36, 34.23, 0, 169.7, 0, 0)
        self.boss.loop('Bb_neutral')

        self.subordinates = []
        for name, (x, y, z, h, p, r) in (('mh', (-2.76, 16.68, 11.63, 195.95, 0, 0)),
                                         ('ms', (7.18, 14.98, 12.57, 153.43, 0, 0)),
                                         ('tf', (-1.55, 62.22, 15.27, 180, 0, 0))):
            subordinate = Suit.Suit()
            dna = SuitDNA()
            dna.newSuit(name)
            subordinate.setDNA(dna)
            subordinate.nametag.setNametag2d(None)
            subordinate.nametag.setNametag3d(None)
            subordinate.reparentTo(hidden)
            subordinate.setPosHpr(x, y, z, h, p, r)
            self.subordinates.append(subordinate)
    def __init__(self):
        TelevisionScene.__init__(self, 'LawbotScene')
        FSM.__init__(self, 'LawbotScene')

        self.background = loader.loadModel('phase_11/models/lawbotHQ/LawbotCourtroom3.bam')
        self.background.reparentTo(self)

        self.boss = BossCog()
        dna = SuitDNA()
        dna.newBossCog('l')
        self.boss.setDNA(dna)
        self.boss.reparentTo(self)
        self.boss.setPosHpr(-3.7, 0, 71.24, 180, 0, 0)
        self.boss.loop('Bb_neutral')

        self.chairs = []
        chairModel = loader.loadModel('phase_11/models/lawbotHQ/LB_chairA.bam')
        for x, y, z, h, p, r in ((-16.5, 3.73, 81.58, 23.2, 0, 0),
                                 (8.5, 3.73, 81.58, 336.8, 0, 0)):
            chair = chairModel.copyTo(self)
            chair.setPosHpr(x, y, z, h, p, r)
            self.chairs.append(chair)
        chairModel.removeNode()

        self.couches = []
        couchModel = loader.loadModel('phase_11/models/lawbotHQ/LB_couchA.bam')
        for x, y, z, h, p, r in ((-16.28, 19.88, 81.58, 23.2, 0, 0),
                                 (8.55, 19.42, 81.58, 333.43, 0, 0)):
            couch = couchModel.copyTo(self)
            couch.setPosHpr(x, y, z, h, p, r)
            self.couches.append(couch)
        couchModel.removeNode()
Example #5
0
	def __init__(self, filename):
		FSM.__init__(self, 'Game')
		
		self.savedGame = PlayerFileParser("save.xml")
		self.playerData = self.savedGame.playerData
		self.playerData.setShip(shipDb[self.playerData.ship.name])
		
		self.crosshair = MouseCursor()
		self.crosshair.setMode(1)
		
		self.mainMenu = MainMenu()
		self.mainMenu.hide()
		self.mainMenu.buttons[0]["command"] = self.request
		self.mainMenu.buttons[0]["extraArgs"] = ["Space"]
		
		self.mainMenu.buttons[1]["command"] = self.request
		self.mainMenu.buttons[1]["extraArgs"] = ["Ground"]
		
		self.mainMenu.buttons[3]["command"] = self.quit
		self.mainMenu.buttons[3]["extraArgs"] = [0]
		
		
		#self.groundGui = GroundGui(self.playerData)
		#self.groundWorldManager = GroundManager(self)
		
		#self.spaceWorldManager = SpaceOdeWorldManager(self)
		
		self.prevState = None
		
		self.trans = Transitions(loader)
		
		self.request("IntroMainMenu")
 def __init__(self, mgr, estate, toon, callback):
     FSM.__init__(self, 'LoadPetFSM')
     self.mgr = mgr
     self.estate = estate
     self.toon = toon
     self.callback = callback
     self.done = False
    def __init__(self, cr):
        DistributedObject.DistributedObject.__init__(self, cr)
        FSM.__init__(self, "Elevator_%s_FSM" % (self.id))
        self.bldgRequest = None
        self.toonRequests = {}
        self.deferredSlots = []
        self.localToonOnBoard = 0
        self.boardedAvIds = {}
        self.openSfx = base.loadSfx("phase_5/audio/sfx/elevator_door_open.mp3")
        self.finalOpenSfx = None
        self.closeSfx = base.loadSfx(
            "phase_5/audio/sfx/elevator_door_close.mp3")
        #Points to Elevator.Elevator when localAvatar steps inside
        self.elevatorFSM = None
        self.finalCloseSfx = None
        self.elevatorPoints = ElevatorPoints

        self.type = ELEVATOR_NORMAL
        self.countdownTime = ElevatorData[self.type]['countdown']

        #self.setupStates()
        #self.enterInitialState()
        self.isSetup = 0
        self.__preSetupState = None
        self.bigElevator = 0

        self.offTrack = [None, None, None, None]

        self.boardingParty = None
Example #8
0
 def __init__(self,
              serialNum,
              maze,
              randomNumGen,
              difficulty,
              startTile,
              cogdoSuitType,
              walkAnimName=None):
     data = Globals.SuitData[cogdoSuitType]
     MazeSuit.__init__(
         self,
         serialNum,
         maze,
         randomNumGen,
         data['cellWalkPeriod'],
         difficulty,
         data['dnaName'],
         startTile=startTile,
         walkSameDirectionProb=Globals.SuitWalkSameDirectionProb,
         walkTurnAroundProb=Globals.SuitWalkTurnAroundProb,
         uniqueRandomNumGen=False,
         walkAnimName=walkAnimName)
     FSM.__init__(self, 'CogdoMazeSuit')
     CogdoMazeSplattable.__init__(
         self, self.suit,
         '%s-%i' % (Globals.SuitCollisionName, self.serialNum), 1.5)
     if 'scale' in data:
         self.suit.setScale(data['scale'])
     self.hp = data['hp']
     self.type = cogdoSuitType
     self.memos = data['memos']
     self.deathSuit = self.suit.getLoseActor()
     self.deathSuit.pose('lose', 0)
     BattleParticles.loadParticles()
     self._initSfx()
Example #9
0
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, cr)
     FSM.__init__(self, 'Elevator_%s_FSM' % self.id)
     self.bldgRequest = None
     self.toonRequests = {}
     self.deferredSlots = []
     self.localToonOnBoard = 0
     self.boardedAvIds = {}
     self.openSfx = base.loadSfx('phase_5/audio/sfx/elevator_door_open.ogg')
     self.finalOpenSfx = None
     self.closeSfx = base.loadSfx('phase_5/audio/sfx/elevator_door_close.ogg')
     self.elevatorFSM = None
     self.finalCloseSfx = None
     self.elevatorPoints = ElevatorPoints
     self.type = ELEVATOR_NORMAL
     self.countdownTime = ElevatorData[self.type]['countdown']
     self.isSetup = 0
     self.__preSetupState = None
     self.bigElevator = 0
     self.offTrack = [None,
      None,
      None,
      None]
     self.boardingParty = None
     return
Example #10
0
    def __init__(self, zoneId, golfCourse, holeId):
        FSM.__init__(self, 'Golf_%s_FSM' % self.id)
        DistributedPhysicsWorldAI.DistributedPhysicsWorldAI.__init__(
            self, simbase.air)
        GolfHoleBase.GolfHoleBase.__init__(self)
        self.zoneId = zoneId
        self.golfCourse = golfCourse
        self.holeId = holeId
        self.avIdList = golfCourse.avIdList[:]
        self.watched = [0, 0, 0, 0]
        self.barrierPlayback = None
        self.trustedPlayerId = None
        self.activeGolferIndex = None
        self.activeGolferId = None
        self.holeInfo = GolfGlobals.HoleInfo[self.holeId]
        self.teeChosen = {}
        for avId in self.avIdList:
            self.teeChosen[avId] = -1

        self.ballPos = {}
        for avId in self.avIdList:
            self.ballPos[avId] = Vec3(0, 0, 0)

        self.playStarted = False
        return
 def __init__(self, mgr, senderId, avId, callback):
     FSM.__init__(self, 'GetAvatarInfoOperation')
     self.mgr = mgr
     self.senderId = senderId
     self.avId = avId
     self.callback = callback
     self.isPet = False
Example #12
0
 def __init__(self,
              parentNode,
              id,
              bounceSpeed=3,
              bounceHeight=1,
              rotateSpeed=1,
              heightShift=1,
              xMoveSpeed=0,
              xMoveDistance=0,
              bounceOffset=0):
     self.id = id
     FSM.__init__(self, 'PartyCogFSM-%d' % self.id)
     self.showFacingStatus = False
     self.xMoveSpeed = xMoveSpeed
     self.xMoveDistance = xMoveDistance
     self.heightShift = heightShift
     self.bounceSpeed = bounceSpeed
     self.bounceHeight = bounceHeight
     self.rotateSpeed = rotateSpeed
     self.parentNode = parentNode
     self.bounceOffset = bounceOffset
     self.hitInterval = None
     self.kaboomTrack = None
     self.resetRollIval = None
     self.netTimeSentToStartByHit = 0
     self.load()
     self.request('Down')
 def __init__(self, air):
     DistributedObjectAI.__init__(self, air)
     FSM.__init__(self, 'AnimProp')
     self.state = 'Attract'
     self.lastTime = globalClockDelta.getRealNetworkTime()
     self.propId = 0
     self.currentAvatar = 0
Example #14
0
    def __init__(self, name):
        FSM.__init__(self, name)
        PandaNode.__init__(self, name)
        DirectObject.__init__(self)

        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)
    def __init__(self):
        TelevisionScene.__init__(self, 'CashbotScene')
        FSM.__init__(self, 'CashbotScene')

        self.background = loader.loadModel(
            'phase_10/models/cogHQ/EndVault.bam')
        self.background.reparentTo(self)

        self.boss = BossCog()
        dna = SuitDNA()
        dna.newBossCog('m')
        self.boss.setDNA(dna)
        self.boss.reparentTo(self)
        self.boss.setPosHpr(21.66, -117.47, 2.92, 228.01, 0, 0)
        self.boss.loop('Bb_neutral')

        self.subordinates = []
        for name, (x, y, z, h, p,
                   r) in (('rb', (33.41, -135.55, 14.68, 251.57, 0, 0)),
                          ('mb', (38.75, -126.4, 14.68, 210.96, 0, 0))):
            subordinate = Suit.Suit()
            dna = SuitDNA()
            dna.newSuit(name)
            subordinate.setDNA(dna)
            subordinate.nametag.setNametag2d(None)
            subordinate.nametag.setNametag3d(None)
            subordinate.reparentTo(hidden)
            subordinate.setPosHpr(x, y, z, h, p, r)
            self.subordinates.append(subordinate)
    def __init__(self, air, zones, avId):
        FSM.__init__(self, 'TutorialFSM')

        self.air = air
        self.zones = zones
        self.avId = avId

        npcDesc = NPCToons.NPCToonDict.get(20000)
        self.tutorialTom = NPCToons.createNPC(self.air, 20000, npcDesc,
                                              self.zones['building'])
        self.tutorialTom.setTutorial(1)

        npcDesc = NPCToons.NPCToonDict.get(20002)
        self.hqHarry = NPCToons.createNPC(self.air, 20002, npcDesc,
                                          self.zones['hq'])
        self.hqHarry.setTutorial(1)
        self.hqHarry.setHq(1)

        self.building = TutorialBuildingAI(self.air, self.zones['street'],
                                           self.zones['building'], 2,
                                           self.tutorialTom.getDoId())
        self.hq = HQBuildingAI(self.air, self.zones['street'],
                               self.zones['hq'], 1)

        self.forceTransition('Introduction')
    def __init__(self):
        TelevisionScene.__init__(self, 'SellbotScene')
        FSM.__init__(self, 'SellbotScene')

        self.background = loader.loadModel(
            'phase_9/models/cogHQ/SellbotHQLobby.bam')
        self.background.reparentTo(self)

        self.boss = BossCog()
        dna = SuitDNA()
        dna.newBossCog('s')
        self.boss.setDNA(dna)
        self.boss.reparentTo(self)
        self.boss.setPosHpr(6.36, 34.23, 0, 169.7, 0, 0)
        self.boss.loop('Bb_neutral')

        self.subordinates = []
        for name, (x, y, z, h, p,
                   r) in (('mh', (-2.76, 16.68, 11.63, 195.95, 0, 0)),
                          ('ms', (7.18, 14.98, 12.57, 153.43, 0, 0)),
                          ('tf', (-1.55, 62.22, 15.27, 180, 0, 0))):
            subordinate = Suit.Suit()
            dna = SuitDNA()
            dna.newSuit(name)
            subordinate.setDNA(dna)
            subordinate.nametag.setNametag2d(None)
            subordinate.nametag.setNametag3d(None)
            subordinate.reparentTo(hidden)
            subordinate.setPosHpr(x, y, z, h, p, r)
            self.subordinates.append(subordinate)
 def __init__(self, doneEvent=None):
     FSM.__init__(self, 'PartyPlannerFSM')
     DirectFrame.__init__(self)
     self.doneEvent = doneEvent
     self.stateArray = [
         'Off', 'Welcome', 'PartyEditor', 'Guests', 'Date', 'Time',
         'Invitation', 'Farewell'
     ]
     self.partyTime = base.cr.toontownTimeManager.getCurServerDateTime()
     self.partyNowTime = base.cr.toontownTimeManager.getCurServerDateTime()
     minutesToNextFifteen = 15 - self.partyTime.minute % 15
     self.cleanPartyTime = self.partyTime + timedelta(
         minutes=minutesToNextFifteen, seconds=-self.partyTime.second)
     self.partyTime = self.cleanPartyTime
     self.guests = []
     self.isPrivate = False
     self.selectedCalendarGuiDay = None
     self.gui = loader.loadModel('phase_4/models/parties/partyPlannerGUI')
     self.partyDuration = timedelta(hours=PartyGlobals.DefaultPartyDuration)
     self.timeTypeToMaxValue = {'hour': 23, 'minute': 59}
     self.timeTypeToChangeAmount = {
         'hour': (1, -1),
         'minute': (15, -15),
         'ampm': (1, -1)
     }
     self.partyInfo = None
     self.asapMinuteRounding = base.config.GetInt(
         'party-asap-minute-rounding',
         PartyGlobals.PartyPlannerAsapMinuteRounding)
     self.load()
     self.request('Welcome')
     return
    def __init__(self):
        NodePath.__init__(self, 'ExperimentTelevision')
        FSM.__init__(self, 'ExperimentTelevision')

        self.model = loader.loadModel('phase_4/models/events/blimp_tv.bam')
        self.model.reparentTo(self)

        self.staticTex = loader.loadTexture('phase_4/maps/blimp_tv_map_01.png')
        self.staticTex.setMinfilter(Texture.FTLinearMipmapLinear)
        self.staticTex.setMagfilter(Texture.FTLinear)

        self.chairmanTex = loader.loadTexture(
            'phase_4/maps/blimp_tv_map_CM.png')
        self.chairmanTex.setMinfilter(Texture.FTLinearMipmapLinear)
        self.chairmanTex.setMagfilter(Texture.FTLinear)

        self.bossbotScene = BossbotScene()
        self.lawbotScene = LawbotScene()
        self.cashbotScene = CashbotScene()
        self.sellbotScene = SellbotScene()

        self.buffer = base.win.makeTextureBuffer('television', 960, 540)
        self.buffer.setSort(-1)

        self.camera = base.makeCamera(self.buffer)

        self.track = None
    def __init__(self, camera, parent):
        """Arguments:
        camera -- Camera to be used
        parent -- Aeroplane which the camera should follow
        """

        self.notifier = DirectNotify().newCategory("azure-camera")
        self.camera = camera
        self.parent = parent
        # This gets replaced by a NodePath with all available cameras as
        # children and plane node as parent in createCamNodes()
        self.cameras = None

        #if parent.__class__.__name__ is not "Aeroplane":
        if not isinstance(self.parent, Aeroplane):
            raise ParamError, "Parent must be an Aeroplane instance, " + \
                              "but is %s" % type(self.parent)

        FSM.__init__(self, "PlaneCamera: %s" % self.parent.name)
        DirectObject.__init__(self)

        self.cameras = self.parent.node.find("cameras")
        if self.cameras.isEmpty():
            self.createCamNodes()
        self.updateCamArray()

        self.sideview_direction = 0

        # Set up the default camera
        self.setView("ThirdPerson")
    def __init__(self):
        TelevisionScene.__init__(self, 'LawbotScene')
        FSM.__init__(self, 'LawbotScene')

        self.background = loader.loadModel(
            'phase_11/models/lawbotHQ/LawbotCourtroom3.bam')
        self.background.reparentTo(self)

        self.boss = BossCog()
        dna = SuitDNA()
        dna.newBossCog('l')
        self.boss.setDNA(dna)
        self.boss.reparentTo(self)
        self.boss.setPosHpr(-3.7, 0, 71.24, 180, 0, 0)
        self.boss.loop('Bb_neutral')

        self.chairs = []
        chairModel = loader.loadModel('phase_11/models/lawbotHQ/LB_chairA.bam')
        for x, y, z, h, p, r in ((-16.5, 3.73, 81.58, 23.2, 0, 0),
                                 (8.5, 3.73, 81.58, 336.8, 0, 0)):
            chair = chairModel.copyTo(self)
            chair.setPosHpr(x, y, z, h, p, r)
            self.chairs.append(chair)
        chairModel.removeNode()

        self.couches = []
        couchModel = loader.loadModel('phase_11/models/lawbotHQ/LB_couchA.bam')
        for x, y, z, h, p, r in ((-16.28, 19.88, 81.58, 23.2, 0, 0),
                                 (8.55, 19.42, 81.58, 333.43, 0, 0)):
            couch = couchModel.copyTo(self)
            couch.setPosHpr(x, y, z, h, p, r)
            self.couches.append(couch)
        couchModel.removeNode()
    def __init__(self):
        TelevisionScene.__init__(self, 'CashbotScene')
        FSM.__init__(self, 'CashbotScene')

        self.background = loader.loadModel('phase_10/models/cogHQ/EndVault.bam')
        self.background.reparentTo(self)

        self.boss = BossCog()
        dna = SuitDNA()
        dna.newBossCog('m')
        self.boss.setDNA(dna)
        self.boss.reparentTo(self)
        self.boss.setPosHpr(21.66, -117.47, 2.92, 228.01, 0, 0)
        self.boss.loop('Bb_neutral')

        self.subordinates = []
        for name, (x, y, z, h, p, r) in (('rb', (33.41, -135.55, 14.68, 251.57, 0, 0)),
                                         ('mb', (38.75, -126.4, 14.68, 210.96, 0, 0))):
            subordinate = Suit.Suit()
            dna = SuitDNA()
            dna.newSuit(name)
            subordinate.setDNA(dna)
            subordinate.nametag.setNametag2d(None)
            subordinate.nametag.setNametag3d(None)
            subordinate.reparentTo(hidden)
            subordinate.setPosHpr(x, y, z, h, p, r)
            self.subordinates.append(subordinate)
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, base.cr)
     FSM.__init__(self, 'Golf_%s_FSM' % self.id)
     self.waitingStartLabel = DirectLabel(
         text=TTLocalizer.MinigameWaitingForOtherPlayers,
         text_fg=VBase4(1, 1, 1, 1),
         relief=None,
         pos=(-0.6, 0, -0.75),
         scale=0.075)
     self.waitingStartLabel.hide()
     self.avIdList = []
     self.remoteAvIdList = []
     self.exitedAvIdList = []
     self.toonPanels = []
     self.exitedPanels = []
     self.exitedToonsWithPanels = []
     self.localAvId = base.localAvatar.doId
     self.hasLocalToon = 0
     self.modelCount = 500
     self.cleanupActions = []
     self.courseId = None
     self.scores = {}
     self.curHoleIndex = 0
     self.golfRewardDialog = None
     self.rewardIval = None
     self.scoreBoard = None
     self.exit = False
     self.drivingToons = []
     return
    def __init__(self):
        NodePath.__init__(self, 'ExperimentTelevision')
        FSM.__init__(self, 'ExperimentTelevision')

        self.model = loader.loadModel('phase_4/models/events/blimp_tv.bam')
        self.model.reparentTo(self)

        self.staticTex = loader.loadTexture('phase_4/maps/blimp_tv_map_01.png')
        self.staticTex.setMinfilter(Texture.FTLinearMipmapLinear)
        self.staticTex.setMagfilter(Texture.FTLinear)

        self.chairmanTex = loader.loadTexture('phase_4/maps/blimp_tv_map_CM.png')
        self.chairmanTex.setMinfilter(Texture.FTLinearMipmapLinear)
        self.chairmanTex.setMagfilter(Texture.FTLinear)

        self.bossbotScene = BossbotScene()
        self.lawbotScene = LawbotScene()
        self.cashbotScene = CashbotScene()
        self.sellbotScene = SellbotScene()

        self.buffer = base.win.makeTextureBuffer('television', 960, 540)
        self.buffer.setSort(-1)

        self.camera = base.makeCamera(self.buffer)

        self.track = None
Example #25
0
 def __init__(self, withinTTH=False):
     FSM.__init__(self, "FNAFBase")
     
     self.withinTTH = withinTTH
     
     if not self.withinTTH:
         base.cogFont = loader.loadFont('data/vtRemingtonPortable.ttf')
         base.accept("escape", self.handleEsc)
         base.accept("f9", self.screenshot)
         
     else:
         from toontown.toonbase import ToontownGlobals
         base.cogFont = ToontownGlobals.getSuitFont()
     
     base.level = Level()            
     base.timer = Timer()
     base.camControls = CameraControls()
     
     if not self.withinTTH:
         self.handleGotPhases()
     
     self.ray = CollisionRay()
     cNode = CollisionNode('mousePicker')
     cNode.addSolid(self.ray)
     cNode.setCollideMask(BitMask32(8))
     self.cnp = base.cam.attachNewNode(cNode)
     
     self.handler = CollisionHandlerQueue()
     self.clickTrav = CollisionTraverser('cTrav')
     self.clickTrav.addCollider(self.cnp, self.handler)
     base.accept('mouse1', self.__handleClick)
     
     self.night = 1
    def __init__(self, hero_party, enemyModel, label):
        self.hero_party = hero_party
        self.enemyModel = enemyModel
        self.enemy_party = self.enemyModel.enemy_party(label)
        self.dialogBox = GUIDialog()
        FSM.__init__(self, "FSM-RPGFight")
        self.defaultTransitions = {
            'SelectInput': [
                'SelectTarget', 'SelectItem', 'SelectMagic', 'ShowAnimation',
                'Quit', 'Defend'
            ],
            'SelectTarget': ['SelectInput', 'ShowAnimation', 'Quit'],
            'SelectItem': ['SelectTarget', 'SelectInput', 'Quit'],
            'SelectMagic': ['SelectTarget', 'SelectInput', 'Quit'],
            'ShowAnimation': ['SelectInput', 'Quit'],
            'Defend': ['SelectInput', 'ShowAnimation', 'Quit'],
            'Quit': ['SelectInput']
        }
        self.animationModels = []
        self.initStage()
        self.initHero()
        self.initEnemy()
        self.instructionList = []

        self.request("SelectInput")
 def __init__(self, waveNumber, bonusRound, maxWaves, roundComplete):
     FSM.__init__(self, 'CannonDefenseScoreBoardFSM')
     DirectFrame.__init__(self, frameSize = (0, 2.4060000000000001, 0, 1.5), pos = (-1.2, 0, -0.69999999999999996), sortOrder = 0)
     
     try:
         binOrder = 0
         if roundComplete:
             binOrder = 10
         
         self.setBin('gui-cannonDefense', binOrder)
         self.loadBackGround()
         actualWaveNumber = waveNumber + bonusRound * maxWaves
         self.panel1 = CannonDefenseEndOfWavePanel(actualWaveNumber, roundComplete, 1, 2, parent = self, frameColor = (0, 0, 0, 0), frameSize = (0, 2.4060000000000001, 0, 1.5))
         if roundComplete:
             self.panel1.nextButton['command'] = self.request
             self.panel1.nextButton['extraArgs'] = [
                 'Panel3']
             self.panel3 = CannonDefenseGameStatsPanel(roundComplete, 2, 2, parent = self, frameColor = (0, 0, 0, 0), frameSize = (0, 2.4060000000000001, 0, 1.5))
             self.panel3.prevButton['command'] = self.request
             self.panel3.prevButton['extraArgs'] = [
                 'Panel1']
         
         self.request('Panel1')
     except:
         self.destroy()
         raise 
    def __init__(self, brain, toonId):
        FSM.__init__(self, 'AttackFSM')
        self.brain = brain
        self.toonId = toonId

        self._walkingTo = None
        self._walkTask = None
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, cr)
     FSM.__init__(self, 'Elevator_%s_FSM' % self.id)
     self.bldgRequest = None
     self.toonRequests = {}
     self.deferredSlots = []
     self.localToonOnBoard = 0
     self.boardedAvIds = {}
     self.openSfx = base.loadSfx('phase_5/audio/sfx/elevator_door_open.mp3')
     self.finalOpenSfx = None
     self.closeSfx = base.loadSfx('phase_5/audio/sfx/elevator_door_close.mp3')
     self.elevatorFSM = None
     self.finalCloseSfx = None
     self.elevatorPoints = ElevatorPoints
     self.type = ELEVATOR_NORMAL
     self.countdownTime = ElevatorData[self.type]['countdown']
     self.isSetup = 0
     self.__preSetupState = None
     self.bigElevator = 0
     self.offTrack = [None,
      None,
      None,
      None]
     self.boardingParty = None
     return
Example #30
0
    def __init__(self, name):
        FSM.__init__(self, name)
        PandaNode.__init__(self, name)
        DirectObject.__init__(self)

        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)
 def __init__(self, air, parent, activityTuple):
     DistributedPartyActivityAI.__init__(self, air, parent, activityTuple)
     FSM.__init__(self, 'DistributedPartyTrampolineActivityAI')
     self.currentAv = 0
     self.record = 0
     self.jellybeans = []
     self.collected = 0
 def __init__(
         self,
         air,
         lawOfficeId,
         bldg,
         avIds,
         markerId=None,
         numSeats=4,
         antiShuffle=0,
         minLaff=0):
     DistributedElevatorFSMAI.DistributedElevatorFSMAI.__init__(
         self, air, bldg, numSeats, antiShuffle=antiShuffle, minLaff=minLaff)
     FSM.__init__(self, 'ElevatorFloor_%s_FSM' % self.id)
     self.type = ELEVATOR_STAGE
     self.countdownTime = ElevatorData[self.type]['countdown']
     self.lawOfficeId = lawOfficeId
     self.anyToonsBailed = 0
     self.avIds = avIds
     self.isEntering = 0
     self.isLocked = 0
     self.setLocked(0)
     self.wantState = None
     self.latchRoom = None
     self.setLatch(markerId)
     self.zoneId = bldg.zoneId
     return
Example #33
0
    def __init__(self, cr):
        FSM.__init__(self, 'robot')
        self.cr = cr

        # Allow a lot of time for other processes.
        base.setSleep(0.1)
        
        self.mouse = VirtualMouse('vmouse')
        self.mouse.setWindowSize(*self.WindowSize)
        
        np = base.dataRoot.attachNewNode(self.mouse)

        if base.mouseWatcher:
            base.mouseWatcher.reparentTo(np)
        else:
            base.mouseWatcher = np.attachNewNode(MouseWatcher('watcher'))
            base.mouseWatcherNode = base.mouseWatcher.node()
            bt = base.mouseWatcher.attachNewNode(ButtonThrower('buttons'))
            base.camera = NodePath('camera')
            base.cam = base.camera.attachNewNode(Camera('cam'))
            base.camNode = base.cam.node()

        self.task = None

        self.accept(self.cr.uniqueName('gameOver'), self.gameOver)
        self.request('Idle')
Example #34
0
 def __init__(self, start="Menu"):
     FSM.__init__(self, "Core Game Control")
     # Optional, but prevents a warning message
     base.taskMgr.setupTaskChain("world", frameBudget=-1)
     self.defaultTransitions = {"Menu": ["World"],
                                "World": ["Menu"]}
     self.demand(start)
    def __init__(self, zoneId, golfCourse, holeId):
        FSM.__init__(self, 'Golf_%s_FSM' % self.id)
        DistributedPhysicsWorldAI.DistributedPhysicsWorldAI.__init__(self, simbase.air)
        GolfHoleBase.GolfHoleBase.__init__(self)
        self.zoneId = zoneId
        self.golfCourse = golfCourse
        self.holeId = holeId
        self.avIdList = golfCourse.avIdList[:]
        self.watched = [0,
         0,
         0,
         0]
        self.barrierPlayback = None
        self.trustedPlayerId = None
        self.activeGolferIndex = None
        self.activeGolferId = None
        self.holeInfo = GolfGlobals.HoleInfo[self.holeId]
        self.teeChosen = {}
        for avId in self.avIdList:
            self.teeChosen[avId] = -1

        self.ballPos = {}
        for avId in self.avIdList:
            self.ballPos[avId] = Vec3(0, 0, 0)

        self.playStarted = False
        return
Example #36
0
    def __init__(self, mainRef, attributes):
        print("Enemy instantiated")
        Unit.__init__(self)
        FSM.__init__(self, 'playerFSM')

        self._mainRef = mainRef
        self._playerRef = mainRef.player
        self._AIworldRef = mainRef.AIworld
        self._enemyListRef = mainRef.enemyList
        self._ddaHandlerRef = mainRef.DDAHandler
        self._stateHandlerRef = mainRef.stateHandler
        self._scenarioHandlerRef = mainRef.scenarioHandler

        #self.topEnemyNode = mainRef.mainNode.attachNewNode('topEnemyNode')
        self.initEnemyNode(mainRef.mainNode)

        utils.enemyDictionary[self.enemyNode.getName()] = self

        self.loadEnemyModel(attributes.modelName)
        self.initAttributes(attributes)
        self.initEnemyAi()

        self.initEnemyDDA()

        self.initEnemyCollisionHandlers()
        self.initEnemyCollisionSolids()

        #self.request('Idle')
        self.request('Disabled')

        # Start enemy updater task
        self.enemyUpdaterTask = taskMgr.add(self.enemyUpdater, 'enemyUpdaterTask')
    def __init__(self, cr):
        DistributedObject.__init__(self, cr)
        FSM.__init__(self, 'FlippyStandFSM')
        self.geom = base.cr.playGame.hood.loader.geom
        self.flippyStand = Actor.Actor('phase_4/models/events/election_flippyStand-mod', {'idle': 'phase_4/models/events/election_flippyStand-idle'})
        self.flippyStand.setBlend(frameBlend=config.GetBool('interpolate-animations', True))
        self.flippyStand.reparentTo(self.geom)
        self.flippyStand.setScale(0.55)
        self.flippyStand.setH(315)
        self.flippyStand.setPos(180, -250, 4.62)
        self.flippyStand.exposeJoint(None, 'modelRoot', 'LInnerShoulder')
        flippyTable = self.flippyStand.find('**/LInnerShoulder')
        self.flippyStand.exposeJoint(None, 'modelRoot', 'Box_Joint')
        wheelbarrowJoint = self.flippyStand.find('**/Box_Joint').attachNewNode('Pie_Joint')
        wheelbarrow = self.flippyStand.find('**/Box')
        wheelbarrow.setPosHprScale(-2.39, 0.0, 1.77, 0.0, 0.0, 6.0, 1.14, 1.54, 0.93)
        pie = loader.loadModel('phase_3.5/models/props/tart')
        pieS = pie.copyTo(flippyTable)
        pieS.setPosHprScale(-2.61, -0.37, -1.99, 355.6, 90.0, 4.09, 1.6, 1.6, 1.6)
        for pieSettings in ElectionGlobals.FlippyWheelbarrowPies:
            pieModel = pie.copyTo(wheelbarrowJoint)
            pieModel.setPosHprScale(*pieSettings)

        wheelbarrowJoint.setPosHprScale(3.94, 0.0, 1.06, 270.0, 344.74, 0.0, 1.43, 1.12, 1.0)
        self.restockSfx = loader.loadSfx('phase_9/audio/sfx/CHQ_SOS_pies_restock.ogg')
        cs = CollisionBox(Point3(7, 0, 0), 12, 5, 18)
        self.pieCollision = self.flippyStand.attachNewNode(CollisionNode('wheelbarrow_collision'))
        self.pieCollision.node().addSolid(cs)
        self.accept('enter' + self.pieCollision.node().getName(), self.handleWheelbarrowCollisionSphereEnter)
        self.flippyStand.loop('idle')
        return
Example #38
0
 def __init__(self, name):
     FSM.__init__(self, name + "-FSM")
     self.objects = set()
     self.observing = 0
     self.sentry = None
     self.radarAxis = base.options.getLandMapRadarAxis()
     self.myUpdateTask = None
Example #39
0
    def __init__(self, parent):
        """Arguments:
        parent -- Aeroplane which the camera should follow
        """

        # Used for debugging. Verbosity is set in config file.
        # Usually this is called self.notify, but in this case it would
        # override FSM's own.
        self.notifier = DirectNotify().newCategory("azure-camera")
        self.parent = parent
        # Replaced by a NodePath with all available cameras as children and
        # plane node as parent.
        self.__cameras = None

        #if parent.__class__.__name__ is not "Aeroplane":
        if not isinstance(self.parent, Aeroplane):
            raise ParamError, "Parent must be an Aeroplane instance, but is %s" % type(self.parent)

        FSM.__init__(self, "PlaneCamera: %s" % self.parent.name)

        try:
            self.camera = base.camera
        except:
            raise BaseMissing

        self.__cameras = self.parent.node.find("cameras")
        if self.__cameras.isEmpty():
            self.createCamNodes()
        self.updateCamArray()

        self.sideview_direction = 0

        # Set up the default camera
        self.setCameraMode("ThirdPerson")
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, base.cr)
     FSM.__init__(self, "Golf_%s_FSM" % self.id)
     self.waitingStartLabel = DirectLabel(
         text=TTLocalizer.MinigameWaitingForOtherToons,
         text_fg=VBase4(1, 1, 1, 1),
         relief=None,
         pos=(-0.6, 0, -0.75),
         scale=0.075,
     )
     self.waitingStartLabel.hide()
     self.avIdList = []
     self.remoteAvIdList = []
     self.exitedAvIdList = []
     self.toonPanels = []
     self.exitedPanels = []
     self.exitedToonsWithPanels = []
     self.localAvId = base.localAvatar.doId
     self.hasLocalToon = 0
     self.modelCount = 500
     self.cleanupActions = []
     self.courseId = None
     self.scores = {}
     self.curHoleIndex = 0
     self.golfRewardDialog = None
     self.rewardIval = None
     self.scoreBoard = None
     self.exit = False
     self.drivingToons = []
     return
 def __init__(self):
   FSM.__init__(self,'mouseControllerClass')
   
   self.cameraPosPivot = render.attachNewNode( 'cameraPivot' )
   self.cameraRotPivot = self.cameraPosPivot.attachNewNode( 'cameraPivot' )
   self.cameraRotPivot.setHpr( STARTUP_CAMERA_HPR )
   # show a point at the cameraPosPivot
   self.posPivotModel = loader.loadModel( CAMERACONTROLLER_PIVOT_MODEL )
   self.posPivotModel.reparentTo( self.cameraPosPivot )
   self.posPivotModel.setScale( 0.1 )
   
   self.pressedKeys = dict()
   moveSpeed = 25
   self.moveVec = Vec3(0)
   self.moveActions = {'w': Vec3(0,moveSpeed,0),
                       's': Vec3(0,-moveSpeed,0),
                       'a': Vec3(-moveSpeed,0,0),
                       'd': Vec3(moveSpeed,0,0),
                       'e': Vec3(0,0,moveSpeed),
                       'q': Vec3(0,0,-moveSpeed)}
   taskMgr.add(self.movePivotTask, 'movePivotTask')
   
   self.cameraHprResets = {'shift-1': Vec3(90,0,0),
                           'shift-2': Vec3(180,0,0),
                           'shift-3': Vec3(0,-90,0),
                           'shift-4': Vec3(-90,0,0),
                           'shift-5': Vec3(0,0,0),
                           'shift-6': Vec3(0,90,0),}
   
   self.backupSettings()
   
   self.request('Disabled')
   
   self.accept('shift-0', self.toggleLens)
 def __init__(self, air, parent, activityTuple):
     DistributedPartyActivityAI.__init__(self, air, parent, activityTuple)
     FSM.__init__(self, 'DistributedPartyActivityAI')
     self.state = 'Idle'
     self.parent = parent
     self.eventId = PartyGlobals.FireworkShows.Summer
     self.showStyle = random.randint(0, len(FireworkShows.shows[PartyGlobals.FireworkShows.Summer]) - 1)
    def __init__(self, air, av):
        FSM.__init__(self, self.__class__.__name__)

        self.air = air
        self.av = av

        self.callback = None
 def __init__(self, doneEvent = None):
     FSM.__init__(self, 'PartyPlannerFSM')
     DirectFrame.__init__(self)
     self.doneEvent = doneEvent
     self.stateArray = ['Off',
      'Welcome',
      'PartyEditor',
      'Guests',
      'Date',
      'Time',
      'Invitation',
      'Farewell']
     self.partyTime = base.cr.toontownTimeManager.getCurServerDateTime()
     self.partyNowTime = base.cr.toontownTimeManager.getCurServerDateTime()
     minutesToNextFifteen = 15 - self.partyTime.minute % 15
     self.cleanPartyTime = self.partyTime + timedelta(minutes=minutesToNextFifteen, seconds=-self.partyTime.second)
     self.partyTime = self.cleanPartyTime
     self.guests = []
     self.isPrivate = False
     self.selectedCalendarGuiDay = None
     self.gui = loader.loadModel('phase_4/models/parties/partyPlannerGUI')
     self.partyDuration = timedelta(hours=PartyGlobals.DefaultPartyDuration)
     self.timeTypeToMaxValue = {'hour': 23,
      'minute': 59}
     self.timeTypeToChangeAmount = {'hour': (1, -1),
      'minute': (15, -15),
      'ampm': (1, -1)}
     self.partyInfo = None
     self.asapMinuteRounding = base.config.GetInt('party-asap-minute-rounding', PartyGlobals.PartyPlannerAsapMinuteRounding)
     self.load()
     self.request('Welcome')
     return
 def __init__(self, cr):
     DistributedObject.__init__(self, cr)
     FSM.__init__(self, 'ToonfestBalloonFSM')
     self.avId = 0
     self.flightPathIndex = 0
     self.balloon = loader.loadModel('phase_6/models/events/tf_balloon')
     self.balloon.reparentTo(base.render)
     self.balloon.setPos(*ToonfestBalloonGlobals.BalloonBasePosition)
     self.balloon.setH(250)
     self.balloon.setScale(ToonfestBalloonGlobals.BalloonScale)
     self.cr.parentMgr.registerParent(ToontownGlobals.SPToonfestBalloon, self.balloon)
     cs = CollisionSphere(0, 0, 0, 9)
     cs.setTangible(False)
     self.collisionNP = self.balloon.find('**/basket_wall_collision')
     self.collisionNP.node().addSolid(cs)
     self.alec = NPCToons.createLocalNPC(91915)
     self.alec.setPos(0.7, 0.7, 0.4)
     self.alec.setH(150)
     self.alec.setScale(1 / ToonfestBalloonGlobals.BalloonScale)
     self.alec.initializeBodyCollisions('toon')
     self.alec.setPickable(0)
     self.alec.addActive()
     self.alec.startBlink()
     self.alec.loop('neutral')
     self.flightPaths = ToonfestBalloonGlobals.generateFlightPaths(self)
     self.toonFlightPaths = ToonfestBalloonGlobals.generateToonFlightPaths(self)
     self.speechSequence = ToonfestBalloonGlobals.generateSpeechSequence(self)
    def __init__(self, cr):
        DistributedObject.__init__(self, cr)
        FSM.__init__(self, 'FlippyStandFSM')
        self.flippyStand = Actor.Actor('phase_4/models/events/election_flippyStand-mod', {'idle': 'phase_4/models/events/election_flippyStand-idle'})
        self.flippyStand.reparentTo(render)
        self.flippyStand.setScale(0.55)
        self.flippyStand.setHpr(315, 0, 349.7)
        self.flippyStand.setPos(180, -250, 9.58)
        self.flippyStand.exposeJoint(None, 'modelRoot', 'LInnerShoulder')
        flippyTable = self.flippyStand.find('**/LInnerShoulder')
        self.flippyStand.exposeJoint(None, 'modelRoot', 'Box_Joint')
        wheelbarrowJoint = self.flippyStand.find('**/Box_Joint').attachNewNode('Pie_Joint')
        wheelbarrow = self.flippyStand.find('**/Box')
        wheelbarrow.setPosHprScale(-2.39, 0.0, 1.77, 0.0, 0.0, 6.0, 1.14, 1.54, 0.93)
        pie = loader.loadModel('phase_3.5/models/props/tart')
        pieS = pie.copyTo(flippyTable)
        pieS.setPosHprScale(-2.61, -0.37, -1.99, 355.6, 90.0, 4.09, 1.6, 1.6, 1.6)
        for pieSettings in ElectionGlobals.FlippyWheelbarrowPies:
            pieModel = pie.copyTo(wheelbarrowJoint)
            pieModel.setPosHprScale(*pieSettings)

        wheelbarrowJoint.setPosHprScale(3.94, 0.0, 1.06, 270.0, 344.74, 0.0, 1.43, 1.12, 1.0)
        self.restockSfx = loader.loadSfx('phase_9/audio/sfx/CHQ_SOS_pies_restock.ogg')
        cs = CollisionBox(Point3(7, 0, 0), 12, 5, 18)
        self.pieCollision = self.flippyStand.attachNewNode(CollisionNode('wheelbarrow_collision'))
        self.pieCollision.node().addSolid(cs)
        self.accept('enter' + self.pieCollision.node().getName(), self.handleWheelbarrowCollisionSphereEnter)
        self.flippyStand.loop('idle')
 def __init__(self, gameDO):
     FSM.__init__(self, 'CannonDefenseFSM')
     self._resultScreen = None
     self._gameOverScreen = None
     self._victoryScreen = None
     self._countDownUI = None
     self._gameDO = gameDO
     self._CannonDefenseFSM__lblwaitingFor = None
     self.defaultTransitions = {
         'WaitingForPlayers': [
             'Tutorial'],
         'Tutorial': [
             'WaitingForPlayers',
             'Wave'],
         'Wave': [
             'ResultScreen',
             'WaitingForPlayers',
             'Defeat',
             'Victory'],
         'ResultScreen': [
             'WaitingForPlayers',
             'Wave'],
         'Defeat': [
             'WaitingForPlayers',
             'Wave'],
         'Victory': [
             'WaitingForPlayers',
             'Wave'] }
 def __init__(self, radarGui):
     FSM.__init__(self, 'RadarZoom')
     self.radarGui = radarGui
     self.zoomOutSfx = loadSfx(SoundGlobals.SFX_GUI_ZOOM_OUT)
     self.zoomInSfx = loadSfx(SoundGlobals.SFX_GUI_ZOOM_IN)
     self.levels = self.DEFAULT_LEVELS
     self.level = 0
    def __init__(self, name, zoneRadii, questStep):
        zoneRadii += [
            1000000]
        NodePath.__init__(self, name)
        FSM.__init__(self, '%sFSM' % name)
        ZoneLOD.__init__(self, self._QuestIndicatorNode__uniqueName, zoneRadii)
        self.questStep = questStep
        self.pendingOriginObj = None
        self.muted = False
        self.farEffect = None
        self.wantBottomEffect = True
        self.minimapObject = None
        self.minimap = None
        
        def originObjHere(originObj):
            self.pendingOriginObj = None
            self.setZoneRadii(zoneRadii)
            self.placeInWorld()

        self._selfRefreshTask = None
        self._refreshTargetInfo = None
        if self.questStep.getOriginDoId():
            self.pendingOriginObj = base.cr.relatedObjectMgr.requestObjects([
                self.questStep.getOriginDoId()], eachCallback = originObjHere)
        else:
            originObjHere(None)
Example #50
0
    def __init__(self, physic_world, config=None):
        logging.info("INIT PLAYER...")
        logging.info("INIT FSM...")
        FSM.__init__(self, "FSM-Player")
        logging.info("INIT CONFIG...")
        Config.__init__(self)
        # additional initial configuration settings set by the outher application
        self.physic_world = physic_world
        logging.info("INIT PHYSICS...")
        Physics.__init__(self)
        logging.info("INIT CONTROLS...")
        Control.__init__(self)
        logging.info("INIT CAMERA...")
        Camera.__init__(self, self.cam_near_clip, self.cam_far_clip,
                        self.cam_fov)
        logging.info("INIT ANIMATOR...")
        Animator.__init__(self)
        logging.info("INIT PLAYER DONE")

        #
        # STATES SETUP
        #
        self.on_ground_states = [
            self.STATE_IDLE, self.STATE_IDLE_TO_WALK, self.STATE_WALK,
            self.STATE_WALK_TO_IDLE, self.STATE_PLANT
        ]
        # set the possible transition in the FSM
        self.defaultTransitions = {
            self.STATE_IDLE: [self.STATE_IDLE_TO_WALK, self.STATE_PLANT],
            self.STATE_IDLE_TO_WALK: [self.STATE_IDLE, self.STATE_WALK],
            self.STATE_WALK: [self.STATE_IDLE, self.STATE_WALK_TO_IDLE],
            self.STATE_WALK_TO_IDLE: [self.STATE_IDLE, self.STATE_WALK],
            self.STATE_PLANT: [self.STATE_IDLE],
        }

        #
        # ACTOR SETUP
        #
        Actor.__init__(
            self, self.model, {
                self.IDLE: self.anim_idle,
                self.WALK: self.anim_walk,
                self.PLANT: self.anim_plant,
            })
        self.setBlend(frameBlend=self.enable_interpolation)

        alphaSettings = ColorBlendAttrib.make(ColorBlendAttrib.MAdd,
                                              ColorBlendAttrib.OIncomingAlpha,
                                              ColorBlendAttrib.OOne,
                                              (0, 0, 0, 0))
        #self.setAttrib(alphaSettings)
        self.setBin("fixed", 15)
        self.setDepthWrite(False)

        #
        # CONTROLS SETUP
        #
        self.isDown = base.mouseWatcherNode.isButtonDown
        self.mainNode = self
Example #51
0
 def __init__(self, air):
     DistributedObjectAI.__init__(self, air)
     FSM.__init__(self, 'DistributedTrolleyAI')
     self.trolleyCountdownTime = config.GetFloat('trolley-countdown-time',
                                                 TROLLEY_COUNTDOWN_TIME)
     self.slots = [None, None, None, None]
     self.boardable = False
     return
 def __init__(self, air):
     DistributedKartPadAI.__init__(self, air)
     FSM.__init__(self, 'DistributedRacePadAI')
     self.genre = 'urban'
     self.state = 'Off'
     self.trackInfo = [0, 0]
     self.laps = 3
     self.avIds = []
 def __init__(self, cr):
     DistributedEntity.__init__(self, cr)
     FSM.__init__(self, 'func_rotating')
     self.state = 0
     self.axis = Vec3.up()
     self.timeToFull = 5.0
     self.speed = 50.0
     self.spinTrack = None
Example #54
0
 def __init__(self, mgr, estate, houseIndex, toon, callback):
     FSM.__init__(self, 'LoadHouseFSM')
     self.mgr = mgr
     self.estate = estate
     self.houseIndex = houseIndex
     self.toon = toon
     self.callback = callback
     self.done = False
Example #55
0
 def __init__(self, air, holidayId):
     FSM.__init__(self, '%s-FSM' % self.__class__.__name__)
     self.air = air
     self.holidayId = holidayId
     self.configId = HolidayGlobals.getHolidayConfig(holidayId)
     self.configData = FleetHolidayGlobals.FleetHolidayConfigs[self.configId]
     self.devTimer = config.GetBool('want-fleet-dev-timer', False)
     self.timerSeconds = 10 if self.devTimer else 60
Example #56
0
    def __init__(self):
        FSM.__init__(self, "Core Game Control")
        self.loader = Loader(self.enterScenario)

        self.accept('f1', base.toggleWireframe)
        self.accept('f2', base.toggleTexture)
        self.accept('f3', self.toggleDebug)
        self.accept('r', self.clearScene)
Example #57
0
 def __init__(self):
     FSM.__init__(self, 'Equilibra7d_FSM')
     self.defaultTransitions = {
         'MainMenu': ['Stage1'],
         'Stage1': ['MainMenu', 'Stage1', 'Stage2'],
         'Stage2': ['MainMenu', 'Stage1'],
     }
     self.currentState = None
Example #58
0
 def __init__(self, mgr, estate, toon, callback):
     FSM.__init__(self, 'LoadPetFSM')
     self.mgr = mgr
     self.estate = estate
     self.toon = toon
     self.callback = callback
     self.done = False
     self.petId = 0
Example #59
0
 def __init__(self):
     FSM.__init__(self, 'CameraMode')
     self.mouseControl = False
     self.mouseDelta = (0, 0)
     self.lastMousePos = (0, 0)
     self.origMousePos = (0, 0)
     self.request('Off')
     self._CameraMode__inputEnabled = False
Example #60
0
 def __init__(self, mgr, air, senderAvId, targetAvId=None, callback=None):
     FSM.__init__(self, 'OperationFSM-%s' % senderAvId)
     self.mgr = mgr
     self.air = air
     self.sender = senderAvId
     self.result = None
     self.target = targetAvId
     self.callback = callback