def generate(self): self.notify.info('generate') self.notify.info('start factory %s %s creation, frame=%s' % (self.factoryId, self.doId, globalClock.getFrameCount())) if __dev__: simbase.factory = self self.notify.info('loading spec') specModule = FactorySpecs.getFactorySpecModule(self.factoryId) factorySpec = LevelSpec.LevelSpec(specModule) if __dev__: self.notify.info('creating entity type registry') typeReg = self.getEntityTypeReg() factorySpec.setEntityTypeReg(typeReg) self.notify.info('creating entities') DistributedLevelAI.DistributedLevelAI.generate(self, factorySpec) self.notify.info('creating cogs') cogSpecModule = FactorySpecs.getCogSpecModule(self.factoryId) self.planner = LevelSuitPlannerAI.LevelSuitPlannerAI(self.air, self, DistributedFactorySuitAI.DistributedFactorySuitAI, DistributedBattleFactoryAI.DistributedBattleFactoryAI, cogSpecModule.CogData, cogSpecModule.ReserveCogData, cogSpecModule.BattleCells) suitHandles = self.planner.genSuits() messenger.send('plannerCreated-' + str(self.doId)) self.suits = suitHandles['activeSuits'] self.reserveSuits = suitHandles['reserveSuits'] self.d_setSuits() scenario = 0 description = '%s|%s|%s|%s' % (self.factoryId, self.entranceId, scenario, self.avIdList) for avId in self.avIdList: self.air.writeServerEvent('factoryEntered', avId, description) self.notify.info('finish factory %s %s creation' % (self.factoryId, self.doId))
def levelAnnounceGenerate(self): self.notify.debug('levelAnnounceGenerate') DistributedLevel.DistributedLevel.levelAnnounceGenerate(self) specModule = FactorySpecs.getFactorySpecModule(self.factoryId) factorySpec = LevelSpec.LevelSpec(specModule) if __dev__: typeReg = self.getEntityTypeReg() factorySpec.setEntityTypeReg(typeReg) DistributedLevel.DistributedLevel.initializeLevel(self, factorySpec)
def getBattleCellSpec(self, battleCellId): cogSpecModule = FactorySpecs.getCogSpecModule(self.factoryId) return cogSpecModule.BattleCells[battleCellId]
def getReserveCogSpec(self, cogId): cogSpecModule = FactorySpecs.getCogSpecModule(self.factoryId) return cogSpecModule.ReserveCogData[cogId]
def getCogSpec(self, cogId): cogSpecModule = FactorySpecs.getCogSpecModule(self.lawOfficeId) return cogSpecModule.CogData[cogId]