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()
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
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()
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
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
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
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
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
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
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')
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
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
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
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)
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
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
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
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
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)
def __init__(self): FSM.__init__(self, 'Equilibra7d_FSM') self.defaultTransitions = { 'MainMenu': ['Stage1'], 'Stage1': ['MainMenu', 'Stage1', 'Stage2'], 'Stage2': ['MainMenu', 'Stage1'], } self.currentState = None
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
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
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