def load(self): StateData.load(self) if self.pgMusicFilename: self.music = base.loadMusic(self.pgMusicFilename) if self.battleMusicFile: self.battleMusic = base.loadMusic(self.battleMusicFile) if self.invasionMusicFiles: self.invasionMusic = None if self.bossBattleMusicFile: self.bossBattleMusic = base.loadMusic(self.bossBattleMusicFile) if self.interiorMusicFilename: self.interiorMusic = base.loadMusic(self.interiorMusicFilename) if self.tournamentMusicFiles: self.tournamentMusic = None self.createSafeZone(self.dnaFile) self.parentFSMState.addChild(self.fsm) width, height, fs, music, sfx, tex_detail, model_detail, aa, af = SettingsManager().getSettings('settings.json') if af == 'on': self.notify.info('Anisotropic Filtering is on, applying to textures.') for nodepath in self.geom.findAllMatches('*'): try: for node in nodepath.findAllMatches('**'): try: node.findTexture('*').setAnisotropicDegree(8) except: pass except: continue return
def unload(self): self.notify.info("unload()") if hasattr(self, 'loader'): self.loader.exit() self.loader.unload() del self.loader del self.parentFSM del self.fsm self.dnaStore.reset_nodes() self.dnaStore.reset_hood_nodes() self.dnaStore.reset_place_nodes() self.dnaStore.reset_hood() self.dnaStore.reset_fonts() self.dnaStore.reset_DNA_vis_groups() self.dnaStore.reset_textures() self.dnaStore.reset_block_numbers() self.dnaStore.reset_block_zones() self.dnaStore.reset_suit_points() del self.dnaStore self.deleteCurrentSky() self.stopSuitEffect(0) self.ignoreAll() ModelPool.garbageCollect() TexturePool.garbageCollect() StateData.unload(self)
def exit(self): StateData.exit(self) messenger.send('exitSafeZone') for link in self.linkTunnels: link.cleanup() self.linkTunnels = []
def load(self, zoneId): StateData.load(self) self.zoneId = zoneId self.branchZone = ZoneUtil.getBranchZone(zoneId) self.canonicalBranchZone = ZoneUtil.getCanonicalBranchZone(zoneId) self.music = base.loadMusic(self.musicFile) self.interiorMusic = base.loadMusic(self.interiorMusicFile)
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)
def exit(self): StateData.exit(self) if self._requestStatus.get('how', None) != 'doorOut': base.transitions.noTransitions() del self._requestStatus self.fsm.request('off') return
def load(self): StateData.load(self) self.book_contents = loader.loadModel('phase_3.5/models/gui/stickerbook_gui.bam') self.book_texture = self.book_contents.find('**/big_book') self.book_open = loader.loadSfx('phase_3.5/audio/sfx/GUI_stickerbook_open.mp3') self.book_close = loader.loadSfx('phase_3.5/audio/sfx/GUI_stickerbook_delete.mp3') self.book_turn = loader.loadSfx('phase_3.5/audio/sfx/GUI_stickerbook_turn.mp3')
def load(self): StateData.load(self) self.loadingLabel = OnscreenText(text='Loading...', font=CIGlobals.getToonFont(), pos=(0, 0.1, 0), scale=0.08, parent=aspect2d)
def exit(self): StateData.exit(self) if not self._requestStatus.get( 'how', None) in ['doorOut', 'elevatorIn', 'IDK']: base.transitions.noTransitions() del self._requestStatus self.fsm.request('off')
def unload(self): StateData.unload(self) base.waterReflectionMgr.clearWaterNodes() if self.animatedFish: self.animatedFish.cleanup() self.animatedFish.removeNode() self.animatedFish = None if self.linkTunnels is not None: for link in self.linkTunnels: link.cleanup() self.linkTunnels = None if self.nodeList is not None: for node in self.nodeList: node.removeNode() self.nodeList = None self.parentFSMState.removeChild(self.fsm) del self.parentFSMState del self.animatedFish base.disableAndRemovePhysicsNodes(self.geom) self.geom.removeNode() del self.geom del self.fsm del self.hood del self.playground del self.safeZoneSong del self.interiorSong self.ignoreAll()
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)
def unload(self): self.parentFSMState.removeChild(self.fsm) del self.parentFSMState del self.fsm del self.streetClass base.disablePhysicsNodes(self.landmarkBlocks) self.landmarkBlocks.removeNode() del self.landmarkBlocks self.hood.dnaStore.resetSuitPoints() self.hood.dnaStore.resetBattleCells() del self.hood del self.nodeDict del self.zoneDict del self.fadeInDict del self.fadeOutDict del self.nodeList del self.zoneVisDict base.disablePhysicsNodes(self.geom) self.geom.removeNode() del self.geom del self.streetSong del self.interiorSong #CIGlobals.doSceneCleanup() StateData.unload(self)
def unload(self): self.cleanupOutdoorLighting() if hasattr(self, 'loader'): self.loader.exit() self.loader.unload() del self.loader del self.parentFSM del self.fsm self.dnaStore.reset_nodes() self.dnaStore.reset_hood_nodes() self.dnaStore.reset_place_nodes() self.dnaStore.reset_hood() self.dnaStore.reset_fonts() self.dnaStore.reset_DNA_vis_groups() self.dnaStore.reset_materials() self.dnaStore.reset_block_numbers() self.dnaStore.reset_block_zones() self.dnaStore.reset_suit_points() del self.dnaStore self.ignoreAll() #CIGlobals.doSceneCleanup() StateData.unload(self)
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 exit(self): if self.isEntered: if self.header: # Hide the header at the top of the page. self.header.hide() StateData.exit(self)
def enter(self, requestStatus): StateData.enter(self) if base.localAvatar.zoneId < ZoneUtil.DynamicZonesBegin: self.findAndMakeLinkTunnels() self.fsm.enterInitialState() messenger.send('enterSafeZone') self.setState(requestStatus['where'], requestStatus) # Delete party gate partyGate = self.geom.find('**/prop_party_gate_DNARoot') if not partyGate.isEmpty(): partyGate.removeNode() del partyGate # Delete pet shop petShop = self.geom.find('**/*pet_shop_DNARoot*') if not petShop.isEmpty(): fish = petShop.find( '**/animated_prop_PetShopFishAnimatedProp_DNARoot') if fish: """ self.animatedFish = Actor('phase_4/models/props/exteriorfish-zero.bam', {'chan' : 'phase_4/models/props/exteriorfish-swim.bam'}) #self.animatedFish.reparentTo(hidden)#petShop) #self.animatedFish.setPos(fish.getPos()) #self.animatedFish.loop('chan') #self.animatedFish.cleanup() """ fish.removeNode() #petShop.removeNode() #del petShop CIGlobals.preRenderScene(self.geom)
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
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', 'CTHood']), 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']), State('CTHood', self.enterCTHood, self.exitCTHood, ['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 exit(self): self.__disableInteraction() del self.lastBookPage base.localAvatar.disableChatInput() StateData.exit(self)
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()
def load(self): StateData.load(self) if self.storageDNAFile: loadDNAFile(self.dnaStore, self.storageDNAFile) if self.holidayDNAFile: loadDNAFile(self.dnaStore, self.holidayDNAFile) self.setupOutdoorLighting()
def unload(self): StateData.unload(self) self.loadingLabel.destroy() self.loadingLabel = None for request in self.requestsContainer.values(): for element in request: element.destroy() self.requestsContainer = {}
def exit(self): StateData.exit(self) messenger.send('exitSafeZone') for link in self.linkTunnels: link.cleanup() if self.animatedFish: self.animatedFish.stop('chan') self.linkTunnels = []
def exit(self): StateData.exit(self) if self.window: self.upgradesPurchased = False self.window.delete() self.requestedHp = None self.healCooldownDoneSfx = None self.originalSupply = {}
def exit(self): StateData.exit(self) if self.window: self.window.delete() self.newHealth = None self.healCooldownDoneSfx = None self.originalSupply = {} return
def enter(self): if not self.isEntered: if self.wantHeader: # Create the header at the top of the page. self.header = OnscreenText(text=self.title, pos=(0, 0.62, 0), scale=0.12) StateData.enter(self)
def enter(self): StateData.enter(self) self.avMoney = base.localAvatar.getMoney() self.window = ShopWindow(self, image = 'phase_4/maps/FrameBlankA.jpg') self.window.setup() self.window.setOKCommand(self.confirmPurchase) self.window.setCancelCommand(self.cancelPurchase) self.window.makePages(self.distShop.getItems()) self.window.setPage(0)
def __init__(self, loader, doneEvent): StateData.__init__(self, doneEvent) self.loader = loader self.zoneId = None self.track = None self.firstPerson = FirstPerson() self.lastBookPage = 'mapPage' self.useFirstPerson = config.GetBool('want-firstperson-battle') return
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 load(self): StateData.load(self) if self.storageDNAFile: loadDNAFile(self.dnaStore, self.storageDNAFile) if self.holidayDNAFile: loadDNAFile(self.dnaStore, self.holidayDNAFile) if not base.cr.holidayManager.getHoliday() == HolidayType.CHRISTMAS: self.createNormalSky() else: self.createSpookySky()
def load(self): StateData.load(self) self.walkDoneEvent = "walkDone" self.walkStateData = PublicWalk(self.fsm, self.walkDoneEvent) self.walkStateData.load() if not self.interior and ( base.cr.holidayManager.getHoliday() == HolidayType.CHRISTMAS or base.cr.playGame.getCurrentWorldName() == 'BRHood'): self.snowEffect.load() self.__acceptEvents()
def __init__(self, brain): StateData.__init__(self, 'behaviorDone') self.brain = brain self.goon = self.brain.goon self.suit = self.goon self.battle = self.goon.dispatch self.bspLoader = self.goon.cEntity.getLoader() self.air = self.goon.air self.behaviorStartTime = 0 self.avIds = self.goon.dispatch.getAvatars()
def enter(self, hoodId, zoneId, avId): StateData.enter(self) whereName = ZoneUtil.getWhereName(zoneId) loaderName = ZoneUtil.getLoaderName(zoneId) self.fsm.request('quietZone', [{'zoneId': zoneId, 'hoodId': hoodId, 'where': whereName, 'how': 'teleportIn', 'avId': avId, 'shardId': None, 'loader': loaderName}])
def enter(self): StateData.enter(self) self.avMoney = base.localAvatar.getMoney() self.origHealth = base.localAvatar.getHealth() self.window = ShopWindow(self, image='phase_4/maps/FrameBlankA.jpg') self.window.setup() self.window.setOKCommand(self.confirmPurchase) self.window.setCancelCommand(self.cancelPurchase) self.window.makePages(self.distShop.getItems()) self.window.setPage(0) self.healCooldownDoneSfx = base.loadSfx(self.healCooldownDoneSoundPath)
def load(self): StateData.load(self) self.book_contents = loader.loadModel( "phase_3.5/models/gui/stickerbook_gui.bam") self.book_texture = self.book_contents.find('**/big_book') self.book_open = loader.loadSfx( "phase_3.5/audio/sfx/GUI_stickerbook_open.ogg") self.book_close = loader.loadSfx( "phase_3.5/audio/sfx/GUI_stickerbook_delete.ogg") self.book_turn = loader.loadSfx( "phase_3.5/audio/sfx/GUI_stickerbook_turn.ogg")
def exit(self): if not self.entered: return self.entered = 0 base.setBackgroundColor(CIGlobals.DefaultBackgroundColor) render.show() self.book_img.destroy() del self.book_img self.book_close.play() self.fsm.request('off') StateData.exit(self)
def unload(self): if self.ival: self.ival.finish() self.ival = None if self.topBar: self.topBar.destroy() self.topBar = None if self.btmBar: self.btmBar.destroy() self.btmBar = None StateData.unload(self)
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() return
def enter(self): if self.entered: return self.entered = 1 StateData.enter(self) render.hide() base.setBackgroundColor(0.05, 0.15, 0.4) self.book_img = OnscreenImage(image=self.book_texture, scale=(2, 1, 1.5)) self.book_open.play() if base.localAvatar.getAdminToken() > -1: self.fsm.request('adminPage') else: self.fsm.request('mapPage')
def __init__(self, hood, parentFSMState, doneEvent): self.hood = hood self.parentFSMState = parentFSMState StateData.__init__(self, doneEvent) self.fsm = ClassicFSM('TownLoader', [State('start', self.enterStart, self.exitStart, ['quietZone', 'street']), State('street', self.enterStreet, self.exitStreet, ['quietZone']), State('toonInterior', self.enterToonInterior, self.exitToonInterior, ['quietZone']), State('quietZone', self.enterQuietZone, self.exitQuietZone, ['street', 'toonInterior']), State('final', self.enterFinal, self.exitFinal, ['start'])], 'start', 'final') self.branchZone = None self.canonicalBranchZone = None self.placeDoneEvent = 'placeDone' self.linkTunnels = [] return
def __init__(self, parentFSM, doneEvent, dnaStore, hoodId): StateData.__init__(self, doneEvent) self.parentFSM = parentFSM self.doneEvent = doneEvent self.dnaStore = dnaStore self.hoodId = hoodId self.id = None self.titleText = None self.suitFog = None self.suitLight = None self.suitLightColor = (0.4, 0.4, 0.4, 1) self.suitFogData = [(0.3, 0.3, 0.3), 0.0025] self.titleColor = (1, 1, 1, 1) return
def enter(self, requestStatus): StateData.enter(self) hoodId = requestStatus['hoodId'] zoneId = requestStatus['zoneId'] rootZone = ZoneUtil.getZoneId(hoodId) if base.localAvatar.getLastHood() != rootZone and hoodId != CIGlobals.MinigameArea: base.localAvatar.b_setLastHood(rootZone) if not base.localAvatar.hasDiscoveredHood(rootZone): hoodsDiscovered = list(base.localAvatar.getHoodsDiscovered()) hoodsDiscovered.append(rootZone) base.localAvatar.b_setHoodsDiscovered(hoodsDiscovered) text = self.getHoodText(zoneId) self.titleText = OnscreenText(text, fg=self.titleColor, font=CIGlobals.getMickeyFont(), scale=0.15, pos=(0, -0.65)) self.titleText.hide()
def unload(self): self.book_texture.removeNode() del self.book_texture self.book_contents.removeNode() del self.book_contents loader.unloadSfx(self.book_open) del self.book_open loader.unloadSfx(self.book_close) del self.book_close loader.unloadSfx(self.book_turn) del self.book_turn del self.fsm del self.parentFSM del self.entered StateData.unload(self)
def enter(self, requestStatus): StateData.enter(self) if base.localAvatar.zoneId < 61000: self.findAndMakeLinkTunnels() self.fsm.enterInitialState() messenger.send('enterSafeZone') self.setState(requestStatus['where'], requestStatus) partyGate = self.geom.find('**/prop_party_gate_DNARoot') if not partyGate.isEmpty(): partyGate.removeNode() del partyGate petShop = self.geom.find('**/prop_pet_shop_DNARoot') if not petShop.isEmpty(): petShop.removeNode() del petShop
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, ['releaseNotesPage', 'inventoryPage', 'off']), State('releaseNotesPage', self.enterReleaseNotesPage, self.exitReleaseNotesPage, ['mapPage', 'off']), State('adminPage', self.enterAdminPage, self.exitAdminPage, ['releaseNotesPage', 'off'])], 'off', 'off') if base.localAvatar.getAdminToken() > -1: self.fsm.getStateNamed('releaseNotesPage').addTransition('adminPage') self.fsm.enterInitialState() self.entered = 0 self.parentFSM.getStateNamed('shtickerBook').addChild(self.fsm)
def unload(self): self.notify.info('unload()') if hasattr(self, 'loader'): self.loader.exit() self.loader.unload() del self.loader del self.parentFSM del self.fsm self.dnaStore.resetAll() del self.dnaStore self.deleteCurrentSky() self.stopSuitEffect(0) self.ignoreAll() ModelPool.garbageCollect() TexturePool.garbageCollect() StateData.unload(self)
def __init__(self, distShop, doneEvent): StateData.__init__(self, doneEvent) self.distShop = distShop self.destroyEvent = self.distShop.destroyEvent self.origHealth = None self.avMoney = base.localAvatar.getMoney() self.healCooldownDoneSoundPath = 'phase_3.5/audio/sfx/tt_s_gui_sbk_cdrSuccess.mp3' self.healCooldownDoneSfx = None self.newHealth = None self.pages = 1 self.window = None self.upgradesPurchased = False self.originalSupply = {} self.healCooldowns = {} self.newHealCooldowns = {} self.acceptOnce(self.destroyEvent, self.destroy) return
def unload(self): StateData.unload(self) self.parentFSMState.removeChild(self.fsm) del self.parentFSMState self.geom.removeNode() del self.geom del self.fsm del self.hood del self.playground del self.music del self.interiorMusic del self.battleMusic del self.bossBattleMusic del self.tournamentMusic self.ignoreAll() ModelPool.garbageCollect() TexturePool.garbageCollect()
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 = [] return
def unload(self): self.parentFSMState.removeChild(self.fsm) del self.parentFSMState del self.fsm del self.streetClass self.landmarkBlocks.removeNode() del self.landmarkBlocks self.hood.dnaStore.resetSuitPoints() self.hood.dnaStore.resetBattleCells() del self.hood del self.nodeDict del self.zoneDict del self.fadeInDict del self.fadeOutDict del self.nodeList self.geom.removeNode() del self.geom del self.music del self.interiorMusic ModelPool.garbageCollect() TexturePool.garbageCollect() StateData.unload(self)
def exit(self): self.fsm.request('off') StateData.exit(self)
def unload(self): self.cleanup() StateData.unload(self)
def exit(self): self.currentAttack.cleanup() StateData.exit(self)
def enter(self, ts = 0): StateData.enter(self) self.currentAttack.doAttack(ts)
def load(self, attackName): StateData.load(self) className = self.attackName2attackClass[attackName] self.currentAttack = className(self, self.suit)
def __init__(self, doneEvent, suit, target): StateData.__init__(self, doneEvent) self.suit = suit self.target = target self.currentAttack = None return