def setup(self, blockNumber):
        self.kartShopInterior = DistributedKartShopInteriorAI(
            blockNumber, self.air, self.interiorZone)
        self.kartShopInterior.generateWithRequired(self.interiorZone)

        self.npcs = NPCToons.createNpcsInZone(self.air, self.interiorZone)

        self.outsideDoor0 = DistributedDoorAI(
            self.air, blockNumber, DoorTypes.EXT_KS, doorIndex=1)
        self.outsideDoor1 = DistributedDoorAI(
            self.air, blockNumber, DoorTypes.EXT_KS, doorIndex=2)
        self.insideDoor0 = DistributedDoorAI(
            self.air, blockNumber, DoorTypes.INT_KS, doorIndex=1)
        self.insideDoor1 = DistributedDoorAI(
            self.air, blockNumber, DoorTypes.INT_KS, doorIndex=2)
        self.outsideDoor0.setOtherDoor(self.insideDoor0)
        self.outsideDoor1.setOtherDoor(self.insideDoor1)
        self.insideDoor0.setOtherDoor(self.outsideDoor0)
        self.insideDoor1.setOtherDoor(self.outsideDoor1)
        self.outsideDoor0.zoneId = self.exteriorZone
        self.outsideDoor1.zoneId = self.exteriorZone
        self.insideDoor0.zoneId = self.interiorZone
        self.insideDoor1.zoneId = self.interiorZone
        self.outsideDoor0.generateWithRequired(self.exteriorZone)
        self.outsideDoor1.generateWithRequired(self.exteriorZone)
        self.insideDoor0.generateWithRequired(self.interiorZone)
        self.insideDoor1.generateWithRequired(self.interiorZone)
        self.outsideDoor0.sendUpdate('setDoorIndex', [self.outsideDoor0.getDoorIndex()])
        self.outsideDoor1.sendUpdate('setDoorIndex', [self.outsideDoor1.getDoorIndex()])
        self.insideDoor0.sendUpdate('setDoorIndex', [self.insideDoor0.getDoorIndex()])
        self.insideDoor1.sendUpdate('setDoorIndex', [self.insideDoor1.getDoorIndex()])
예제 #2
0
    def setup(self, blockNumber):
        # Create the Interior Object on the AI Side
        self.kartShopInterior = DistributedKartShopInteriorAI(
            blockNumber, self.air, self.interiorZone)
        # Initialize the npc clerks.
        self.npcs = NPCToons.createNpcsInZone(self.air, self.interiorZone)

        # Tell the DistributedKartShopInteriorAI object to generate.
        self.kartShopInterior.generateWithRequired(self.interiorZone)

        # Handle the Door Generation.
        # TODO - NEED TO CHANGE THE DOOR DGG.TYPE AND HANDLE IT IN DistributedDoor.py
        self.outsideDoor0 = DistributedDoorAI(self.air,
                                              blockNumber,
                                              DoorTypes.EXT_KS,
                                              doorIndex=1)
        self.outsideDoor1 = DistributedDoorAI(self.air,
                                              blockNumber,
                                              DoorTypes.EXT_KS,
                                              doorIndex=2)
        self.insideDoor0 = DistributedDoorAI(self.air,
                                             blockNumber,
                                             DoorTypes.INT_KS,
                                             doorIndex=1)
        self.insideDoor1 = DistributedDoorAI(self.air,
                                             blockNumber,
                                             DoorTypes.INT_KS,
                                             doorIndex=2)

        # Assign inside and outside doors to one another, respectively.
        self.outsideDoor0.setOtherDoor(self.insideDoor0)
        self.outsideDoor1.setOtherDoor(self.insideDoor1)
        self.insideDoor0.setOtherDoor(self.outsideDoor0)
        self.insideDoor1.setOtherDoor(self.outsideDoor1)

        # Place the doors in the proper zones.
        self.outsideDoor0.zoneId = self.exteriorZone
        self.outsideDoor1.zoneId = self.exteriorZone
        self.insideDoor0.zoneId = self.interiorZone
        self.insideDoor1.zoneId = self.interiorZone

        # Generate the Doors
        self.outsideDoor0.generateWithRequired(self.exteriorZone)
        self.outsideDoor1.generateWithRequired(self.exteriorZone)
        self.insideDoor0.generateWithRequired(self.interiorZone)
        self.insideDoor1.generateWithRequired(self.interiorZone)

        self.outsideDoor0.sendUpdate("setDoorIndex",
                                     [self.outsideDoor0.getDoorIndex()])
        self.outsideDoor1.sendUpdate("setDoorIndex",
                                     [self.outsideDoor1.getDoorIndex()])
        self.insideDoor0.sendUpdate("setDoorIndex",
                                    [self.insideDoor0.getDoorIndex()])
        self.insideDoor1.sendUpdate("setDoorIndex",
                                    [self.insideDoor1.getDoorIndex()])