def spawnElection(self): election = self.air.doFind('ElectionEvent') if election is None: election = DistributedElectionEventAI(self.air) election.generateWithRequired(self.zoneId) election.b_setState('Idle') if self.air.config.GetBool('want-hourly-doomsday', False): self.__startElectionTick() return
def __electionTick(self, task): task.delayTime = 3600 toons = self.air.doFindAll('DistributedToon') if not toons: return task.again election = self.air.doFind('ElectionEvent') if election: state = election.getState() if state[0] == 'Idle': taskMgr.doMethodLater(10, election.b_setState, 'election-start-delay', extraArgs=['Event']) if not election: election = DistributedElectionEventAI(self.air) election.generateWithRequired(self.zoneId) election.b_setState('Idle') taskMgr.doMethodLater(10, election.b_setState, 'election-start-delay', extraArgs=['Event']) return task.again