def __init__(self, air, house): DistributedObjectAI.__init__(self, air) self.house = house self.houseId = 0 self.houseIndex = 0 self.wallpaper = '' self.windows = '' self.furnitureManager = DistributedFurnitureManagerAI( self.air, self.house, self)
def __init__(self, air, house): DistributedObjectAI.__init__(self, air) self.house = house self.houseId = 0 self.houseIndex = 0 self.wallpaper = '' self.windows = '' self.furnitureManager = DistributedFurnitureManagerAI(self.air, self.house, self)
def resetFurniture(self): # Deletes all of the furniture, wallpaper, and window items, and # recreates it all. if self.interiorManager != None: self.interiorManager.requestDelete() self.interiorManager = None # Create a furniture manager for the interior furniture. self.interiorManager = DistributedFurnitureManagerAI.DistributedFurnitureManagerAI( self.air, self, 1) self.interiorManager.generateWithRequired(self.interiorZoneId) # Create all of the furniture items inside the house. for item in self.interiorItems: self.interiorManager.manifestInteriorItem(item) # Force the wallpaper and windows to be reissued to the # interior. self.interior.b_setWallpaper(self.interiorWallpaper) self.interior.b_setWindows(self.interiorWindows)
class DistributedHouseInteriorAI(DistributedObjectAI): notify = directNotify.newCategory("DistributedHouseInteriorAI") def __init__(self, air, house): DistributedObjectAI.__init__(self, air) self.house = house self.houseId = 0 self.houseIndex = 0 self.wallpaper = '' self.windows = '' self.furnitureManager = DistributedFurnitureManagerAI(self.air, self.house, self) def announceGenerate(self): DistributedObjectAI.announceGenerate(self) self.furnitureManager.generateWithRequired(self.zoneId) def delete(self): DistributedObjectAI.delete(self) self.furnitureManager.delete() def initialize(self): # Get DNA file appropriate to this house... dnaFile = houseInteriors[self.houseIndex] # Load DNA... dnaStorage = DNAStorage() dnaData = loadDNAFileAI(dnaStorage, dnaFile) # Read it into furniture... furnitureReader = DNAFurnitureReaderAI(dnaData, [-11, 2, 0, 0, 0, 0]) # Set furniture: self.furnitureManager.setItems(furnitureReader.getBlob()) # Set default windows and wallpaper: del self.furnitureManager.windows[:] self.furnitureManager.windows.extend(defaultWindows) self.furnitureManager.applyWindows() del self.furnitureManager.wallpaper[:] self.furnitureManager.wallpaper.extend(defaultWallpaper) self.furnitureManager.applyWallpaper() # Save: self.furnitureManager.saveToHouse() def setHouseId(self, houseId): self.houseId = houseId def d_setHouseId(self, houseId): self.sendUpdate('setHouseId', [houseId]) def b_setHouseId(self, houseId): self.setHouseId(houseId) self.d_setHouseId(houseId) def getHouseId(self): return self.houseId def setHouseIndex(self, index): self.houseIndex = index def d_setHouseIndex(self, index): self.sendUpdate('setHouseIndex', [index]) def b_setHouseIndex(self, index): self.setHouseIndex(index) self.d_setHouseIndex(index) def getHouseIndex(self): return self.houseIndex def setWallpaper(self, wallpaper): self.wallpaper = wallpaper def d_setWallpaper(self, wallpaper): self.sendUpdate('setWallpaper', [wallpaper]) def b_setWallpaper(self, wallpaper): self.setWallpaper(wallpaper) if self.isGenerated(): self.d_setWallpaper(wallpaper) def getWallpaper(self): return self.wallpaper def setWindows(self, windows): self.windows = windows def d_setWindows(self, windows): self.sendUpdate('setWindows', [windows]) def b_setWindows(self, windows): self.setWindows(windows) if self.isGenerated(): self.d_setWindows(windows) def getWindows(self): return self.windows
class DistributedHouseInteriorAI(DistributedObjectAI): notify = directNotify.newCategory("DistributedHouseInteriorAI") def __init__(self, air, house): DistributedObjectAI.__init__(self, air) self.house = house self.houseId = 0 self.houseIndex = 0 self.wallpaper = '' self.windows = '' self.furnitureManager = DistributedFurnitureManagerAI( self.air, self.house, self) def announceGenerate(self): DistributedObjectAI.announceGenerate(self) self.furnitureManager.generateWithRequired(self.zoneId) def delete(self): DistributedObjectAI.delete(self) self.furnitureManager.delete() def initialize(self): # Get DNA file appropriate to this house... dnaFile = houseInteriors[self.houseIndex] # Load DNA... dnaStorage = DNAStorage() dnaData = loadDNAFileAI(dnaStorage, dnaFile) # Read it into furniture... furnitureReader = DNAFurnitureReaderAI(dnaData, [-11, 2, 0, 0, 0, 0]) # Set furniture: self.furnitureManager.setItems(furnitureReader.getBlob()) # Set default windows and wallpaper: del self.furnitureManager.windows[:] self.furnitureManager.windows.extend(defaultWindows) self.furnitureManager.applyWindows() del self.furnitureManager.wallpaper[:] self.furnitureManager.wallpaper.extend(defaultWallpaper) self.furnitureManager.applyWallpaper() # Save: self.furnitureManager.saveToHouse() def setHouseId(self, houseId): self.houseId = houseId def d_setHouseId(self, houseId): self.sendUpdate('setHouseId', [houseId]) def b_setHouseId(self, houseId): self.setHouseId(houseId) self.d_setHouseId(houseId) def getHouseId(self): return self.houseId def setHouseIndex(self, index): self.houseIndex = index def d_setHouseIndex(self, index): self.sendUpdate('setHouseIndex', [index]) def b_setHouseIndex(self, index): self.setHouseIndex(index) self.d_setHouseIndex(index) def getHouseIndex(self): return self.houseIndex def setWallpaper(self, wallpaper): self.wallpaper = wallpaper def d_setWallpaper(self, wallpaper): self.sendUpdate('setWallpaper', [wallpaper]) def b_setWallpaper(self, wallpaper): self.setWallpaper(wallpaper) if self.isGenerated(): self.d_setWallpaper(wallpaper) def getWallpaper(self): return self.wallpaper def setWindows(self, windows): self.windows = windows def d_setWindows(self, windows): self.sendUpdate('setWindows', [windows]) def b_setWindows(self, windows): self.setWindows(windows) if self.isGenerated(): self.d_setWindows(windows) def getWindows(self): return self.windows
class DistributedHouseInteriorAI(DistributedObjectAI): notify = directNotify.newCategory('DistributedHouseInteriorAI') def __init__(self, air, house): DistributedObjectAI.__init__(self, air) self.house = house self.houseId = 0 self.houseIndex = 0 self.wallpaper = '' self.windows = '' self.interiorLayout = 0 self.furnitureManager = DistributedFurnitureManagerAI( self.air, self.house, self) def announceGenerate(self): DistributedObjectAI.announceGenerate(self) self.furnitureManager.generateWithRequired(self.zoneId) self.lightSwitch = DistributedLightSwitchAI(self.air, self.getDoId()) self.lightSwitch.generateWithRequired(self.zoneId) def delete(self): DistributedObjectAI.delete(self) self.furnitureManager.delete() self.lightSwitch.requestDelete() def initialize(self): dnaFile = houseInteriors[self.houseIndex] dnaStorage = DNAStorage() dnaData = loadDNAFileAI(dnaStorage, dnaFile) furnitureReader = DNAFurnitureReaderAI(dnaData, [-11, 2, 0, 0, 0, 0]) self.furnitureManager.setItems(furnitureReader.getBlob()) del self.furnitureManager.windows[:] self.furnitureManager.windows.extend(defaultWindows) self.furnitureManager.applyWindows() del self.furnitureManager.wallpaper[:] self.furnitureManager.wallpaper.extend(defaultWallpaper) self.furnitureManager.applyWallpaper() self.furnitureManager.saveToHouse() def setHouseId(self, houseId): self.houseId = houseId def d_setHouseId(self, houseId): self.sendUpdate('setHouseId', [houseId]) def b_setHouseId(self, houseId): self.setHouseId(houseId) self.d_setHouseId(houseId) def getHouseId(self): return self.houseId def setHouseIndex(self, index): self.houseIndex = index def d_setHouseIndex(self, index): self.sendUpdate('setHouseIndex', [index]) def b_setHouseIndex(self, index): self.setHouseIndex(index) self.d_setHouseIndex(index) def getHouseIndex(self): return self.houseIndex def setInteriorLayout(self, layoutId): self.interiorLayout = layoutId def d_setInteriorLayout(self, layoutId): self.sendUpdate('setInteriorLayout', [layoutId]) def b_setInteriorLayout(self, layoutId): self.setInteriorLayout(layoutId) self.d_setInteriorLayout(layoutId) def getInteriorLayout(self): return self.interiorLayout def setWallpaper(self, wallpaper): self.wallpaper = wallpaper def d_setWallpaper(self, wallpaper): self.sendUpdate('setWallpaper', [wallpaper]) def b_setWallpaper(self, wallpaper): self.setWallpaper(wallpaper) if self.isGenerated(): self.d_setWallpaper(wallpaper) def getWallpaper(self): return self.wallpaper def setWindows(self, windows): self.windows = windows def d_setWindows(self, windows): self.sendUpdate('setWindows', [windows]) def b_setWindows(self, windows): self.setWindows(windows) if self.isGenerated(): self.d_setWindows(windows) def getWindows(self): return self.windows
class DistributedHouseInteriorAI(DistributedObjectAI): notify = DirectNotifyGlobal.directNotify.newCategory('DistributedHouseInteriorAI') def __init__(self, air, house): DistributedObjectAI.__init__(self, air) self.house = house self.houseId = 0 self.houseIndex = 0 self.wallpaper = '' self.windows = '' self.furnitureManager = DistributedFurnitureManagerAI(self.air, self.house, self) def announceGenerate(self): DistributedObjectAI.announceGenerate(self) self.furnitureManager.generateWithRequired(self.zoneId) def delete(self): DistributedObjectAI.delete(self) self.furnitureManager.delete() def initialize(self): interior = random.choice(HouseGlobals.interiors) dnaFile = interior[0] phonePos = interior[4] dnaData = self.air.loadDNA(dnaFile) furnitureReader = DNAFurnitureReaderAI(dnaData, phonePos) self.furnitureManager.setItems(furnitureReader.getBlob()) del self.furnitureManager.windows[:] self.furnitureManager.windows.extend(defaultWindows) self.furnitureManager.applyWindows() del self.furnitureManager.wallpaper[:] self.furnitureManager.wallpaper.extend(defaultWallpaper) self.furnitureManager.applyWallpaper() self.furnitureManager.saveToHouse() def setHouseId(self, houseId): self.houseId = houseId def d_setHouseId(self, houseId): self.sendUpdate('setHouseId', [houseId]) def b_setHouseId(self, houseId): self.setHouseId(houseId) self.d_setHouseId(houseId) def getHouseId(self): return self.houseId def setHouseIndex(self, index): self.houseIndex = index def d_setHouseIndex(self, index): self.sendUpdate('setHouseIndex', [index]) def b_setHouseIndex(self, index): self.setHouseIndex(index) self.d_setHouseIndex(index) def getHouseIndex(self): return self.houseIndex def setWallpaper(self, wallpaper): self.wallpaper = wallpaper def d_setWallpaper(self, wallpaper): self.sendUpdate('setWallpaper', [wallpaper]) def b_setWallpaper(self, wallpaper): self.setWallpaper(wallpaper) if self.isGenerated(): self.d_setWallpaper(wallpaper) def getWallpaper(self): return self.wallpaper def setWindows(self, windows): self.windows = windows def d_setWindows(self, windows): self.sendUpdate('setWindows', [windows]) def b_setWindows(self, windows): self.setWindows(windows) if self.isGenerated(): self.d_setWindows(windows) def getWindows(self): return self.windows
class DistributedHouseInteriorAI(DistributedObjectAI): notify = DirectNotifyGlobal.directNotify.newCategory( 'DistributedHouseInteriorAI') def __init__(self, air, house): DistributedObjectAI.__init__(self, air) self.house = house self.houseId = 0 self.houseIndex = 0 self.wallpaper = '' self.windows = '' self.furnitureManager = DistributedFurnitureManagerAI( self.air, self.house, self) def announceGenerate(self): DistributedObjectAI.announceGenerate(self) self.furnitureManager.generateWithRequired(self.zoneId) def delete(self): DistributedObjectAI.delete(self) self.furnitureManager.delete() def initialize(self): interior = random.choice(HouseGlobals.interiors) dnaFile = interior[0] phonePos = interior[4] dnaData = self.air.loadDNA(dnaFile) furnitureReader = DNAFurnitureReaderAI(dnaData, phonePos) self.furnitureManager.setItems(furnitureReader.getBlob()) del self.furnitureManager.windows[:] self.furnitureManager.windows.extend(defaultWindows) self.furnitureManager.applyWindows() del self.furnitureManager.wallpaper[:] self.furnitureManager.wallpaper.extend(defaultWallpaper) self.furnitureManager.applyWallpaper() self.furnitureManager.saveToHouse() def setHouseId(self, houseId): self.houseId = houseId def d_setHouseId(self, houseId): self.sendUpdate('setHouseId', [houseId]) def b_setHouseId(self, houseId): self.setHouseId(houseId) self.d_setHouseId(houseId) def getHouseId(self): return self.houseId def setHouseIndex(self, index): self.houseIndex = index def d_setHouseIndex(self, index): self.sendUpdate('setHouseIndex', [index]) def b_setHouseIndex(self, index): self.setHouseIndex(index) self.d_setHouseIndex(index) def getHouseIndex(self): return self.houseIndex def setWallpaper(self, wallpaper): self.wallpaper = wallpaper def d_setWallpaper(self, wallpaper): self.sendUpdate('setWallpaper', [wallpaper]) def b_setWallpaper(self, wallpaper): self.setWallpaper(wallpaper) if self.isGenerated(): self.d_setWallpaper(wallpaper) def getWallpaper(self): return self.wallpaper def setWindows(self, windows): self.windows = windows def d_setWindows(self, windows): self.sendUpdate('setWindows', [windows]) def b_setWindows(self, windows): self.setWindows(windows) if self.isGenerated(): self.d_setWindows(windows) def getWindows(self): return self.windows
class DistributedHouseInteriorAI(DistributedObjectAI): notify = DirectNotifyGlobal.directNotify.newCategory("DistributedHouseInteriorAI") def __init__(self, air, house): DistributedObjectAI.__init__(self, air) self.house = house self.houseId = 0 self.houseIndex = 0 self.wallpaper = '' self.windows = '' self.furnitureManager = DistributedFurnitureManagerAI(self.air, self.house, self) def announceGenerate(self): DistributedObjectAI.announceGenerate(self) self.furnitureManager.generateWithRequired(self.zoneId) def delete(self): DistributedObjectAI.delete(self) self.furnitureManager.delete() def initialize(self): # Get DNA file appropriate to this house... dnaFile = houseInteriors[self.houseIndex] # Load DNA... dnaStorage = DNAStorage() dnaData = simbase.air.loadDNAFileAI(dnaStorage, dnaFile) # Read it into furniture... furnitureReader = DNAFurnitureReaderAI(dnaData) # Set furniture: items = furnitureReader.getList() items.append(CatalogFurnitureItem(1399, posHpr=(-11.5, 1.8, 0, 0, 0, 0))) if self.house.avatarId: av = simbase.air.doId2do.get(self.house.avatarId) if av: gender = av.getStyle().getGender() items.append(CatalogFurnitureItem(4000 + (10 if gender == "f" else 0), posHpr=(-2.3, 9, 0, 270, 0, 0))) self.furnitureManager.setItems(items.getBlob()) # Set default windows and wallpaper: del self.furnitureManager.windows[:] self.furnitureManager.windows.extend(defaultWindows) self.furnitureManager.applyWindows() del self.furnitureManager.wallpaper[:] self.furnitureManager.wallpaper.extend(defaultWallpaper) self.furnitureManager.applyWallpaper() # Save: self.furnitureManager.saveToHouse() def setHouseId(self, houseId): self.houseId = houseId def d_setHouseId(self, houseId): self.sendUpdate('setHouseId', [houseId]) def b_setHouseId(self, houseId): self.setHouseId(houseId) self.d_setHouseId(houseId) def getHouseId(self): return self.houseId def setHouseIndex(self, index): self.houseIndex = index def d_setHouseIndex(self, index): self.sendUpdate('setHouseIndex', [index]) def b_setHouseIndex(self, index): self.setHouseIndex(index) self.d_setHouseIndex(index) def getHouseIndex(self): return self.houseIndex def setWallpaper(self, wallpaper): self.wallpaper = wallpaper def d_setWallpaper(self, wallpaper): self.sendUpdate('setWallpaper', [wallpaper]) def b_setWallpaper(self, wallpaper): self.setWallpaper(wallpaper) if self.isGenerated(): self.d_setWallpaper(wallpaper) def getWallpaper(self): return self.wallpaper def setWindows(self, windows): self.windows = windows def d_setWindows(self, windows): self.sendUpdate('setWindows', [windows]) def b_setWindows(self, windows): self.setWindows(windows) if self.isGenerated(): self.d_setWindows(windows) def getWindows(self): return self.windows
class DistributedHouseInteriorAI(DistributedObjectAI): notify = DirectNotifyGlobal.directNotify.newCategory( "DistributedHouseInteriorAI") def __init__(self, air, house): DistributedObjectAI.__init__(self, air) self.house = house self.houseId = 0 self.houseIndex = 0 self.wallpaper = '' self.windows = '' self.furnitureManager = DistributedFurnitureManagerAI( self.air, self.house, self) def announceGenerate(self): DistributedObjectAI.announceGenerate(self) self.furnitureManager.generateWithRequired(self.zoneId) def delete(self): DistributedObjectAI.delete(self) self.furnitureManager.delete() def initialize(self): # Get DNA file appropriate to this house... dnaFile = houseInteriors[self.houseIndex] # Load DNA... dnaStorage = DNAStorage() dnaData = simbase.air.loadDNAFileAI(dnaStorage, dnaFile) # Read it into furniture... furnitureReader = DNAFurnitureReaderAI(dnaData) # Set furniture: items = furnitureReader.getList() items.append( CatalogFurnitureItem(1399, posHpr=(-11.5, 1.8, 0, 0, 0, 0))) if self.house.avatarId: av = simbase.air.doId2do.get(self.house.avatarId) if av: gender = av.getStyle().getGender() items.append( CatalogFurnitureItem(4000 + (10 if gender == "f" else 0), posHpr=(-2.3, 9, 0, 270, 0, 0))) self.furnitureManager.setItems(items.getBlob()) # Set default windows and wallpaper: del self.furnitureManager.windows[:] self.furnitureManager.windows.extend(defaultWindows) self.furnitureManager.applyWindows() del self.furnitureManager.wallpaper[:] self.furnitureManager.wallpaper.extend(defaultWallpaper) self.furnitureManager.applyWallpaper() # Save: self.furnitureManager.saveToHouse() def setHouseId(self, houseId): self.houseId = houseId def d_setHouseId(self, houseId): self.sendUpdate('setHouseId', [houseId]) def b_setHouseId(self, houseId): self.setHouseId(houseId) self.d_setHouseId(houseId) def getHouseId(self): return self.houseId def setHouseIndex(self, index): self.houseIndex = index def d_setHouseIndex(self, index): self.sendUpdate('setHouseIndex', [index]) def b_setHouseIndex(self, index): self.setHouseIndex(index) self.d_setHouseIndex(index) def getHouseIndex(self): return self.houseIndex def setWallpaper(self, wallpaper): self.wallpaper = wallpaper def d_setWallpaper(self, wallpaper): self.sendUpdate('setWallpaper', [wallpaper]) def b_setWallpaper(self, wallpaper): self.setWallpaper(wallpaper) if self.isGenerated(): self.d_setWallpaper(wallpaper) def getWallpaper(self): return self.wallpaper def setWindows(self, windows): self.windows = windows def d_setWindows(self, windows): self.sendUpdate('setWindows', [windows]) def b_setWindows(self, windows): self.setWindows(windows) if self.isGenerated(): self.d_setWindows(windows) def getWindows(self): return self.windows