def generateIslands(self, islandModel, name, uid, isDockable, gameZone): self.island = DistributedIslandAI(self.air, islandModel, name, uid) self.island.generateWithRequired(zoneId=gameZone) self.island.d_setZoneSphereSize(rad0=1000, rad1=2000, rad2=3000) self.island.d_setIslandModel(islandModel=self.island.getIslandModel()) self.island.d_setUndockable(undockable=isDockable) self.activeIslands.add(self.island) if self.island: self.air.notify.info("Created island: %s" % (name))
class DistributedInstanceWorldAI(DistributedInstanceBaseAI): notify = DirectNotifyGlobal.directNotify.newCategory('DistributedInstanceWorldAI') def __init__(self, air, fileName=""): DistributedInstanceBaseAI.__init__(self, air, fileName) self.fileName = fileName self.activeIslands = set() def announceGenerate(self): DistributedInstanceBaseAI.announceGenerate(self) def generateIslands(self, islandModel, name, uid, isDockable, gameZone): self.island = DistributedIslandAI(self.air, islandModel, name, uid) self.island.generateWithRequired(zoneId=gameZone) self.island.d_setZoneSphereSize(rad0=1000, rad1=2000, rad2=3000) self.island.d_setIslandModel(islandModel=self.island.getIslandModel()) self.island.d_setUndockable(undockable=isDockable) self.activeIslands.add(self.island) if self.island: self.air.notify.info("Created island: %s" % (name))
class DistributedInstanceWorldAI(DistributedInstanceBaseAI): notify = DirectNotifyGlobal.directNotify.newCategory( 'DistributedInstanceWorldAI') def __init__(self, air, fileName=""): DistributedInstanceBaseAI.__init__(self, air, fileName) self.fileName = fileName self.activeIslands = set() def announceGenerate(self): DistributedInstanceBaseAI.announceGenerate(self) def generateIslands(self, islandModel, name, uid, isDockable, gameZone): self.island = DistributedIslandAI(self.air, islandModel, name, uid) self.island.generateWithRequired(zoneId=gameZone) self.island.d_setZoneSphereSize(rad0=1000, rad1=2000, rad2=3000) self.island.d_setIslandModel(islandModel=self.island.getIslandModel()) self.island.d_setUndockable(undockable=isDockable) self.activeIslands.add(self.island) if self.island: self.air.notify.info("Created island: %s" % (name))
def __createIsland(self, objectData, parent, parentUid, objKey, dynamic): from pirates.world.DistributedIslandAI import DistributedIslandAI worldIsland = self.air.worldCreator.getIslandWorldDataByUid(objKey) island = DistributedIslandAI(self.air) island.setUniqueId(objKey) island.setName(worldIsland.get('Name', '')) island.setModelPath(worldIsland['Visual']['Model']) island.setPos(worldIsland.get('Pos', (0, 0, 0))) island.setHpr(worldIsland.get('Hpr', (0, 0, 0))) island.setScale(worldIsland.get('Scale', 1)) island.setUndockable(worldIsland.get('Undockable', False)) if 'Objects' in worldIsland: for obj in worldIsland['Objects'].values(): if obj['Type'] == 'LOD Sphere': island.setZoneSphereSize(*obj['Radi']) self.parent.generateChildWithRequired(island, island.startingZone) self.addObject(island) return island