Пример #1
0
 def generate(self):
     DistributedObjectAI.generate(self)
     actId2Class = {ActivityIds.PartyJukebox: DistributedPartyJukeboxActivityAI,
      ActivityIds.PartyTrampoline: DistributedPartyTrampolineActivityAI,
      ActivityIds.PartyVictoryTrampoline: DistributedPartyVictoryTrampolineActivityAI,
      ActivityIds.PartyCatch: DistributedPartyCatchActivityAI,
      ActivityIds.PartyDance: DistributedPartyDanceActivityAI,
      ActivityIds.PartyTugOfWar: DistributedPartyTugOfWarActivityAI,
      ActivityIds.PartyFireworks: DistributedPartyFireworksActivityAI,
      ActivityIds.PartyJukebox40: DistributedPartyJukebox40ActivityAI,
      ActivityIds.PartyDance20: DistributedPartyDance20ActivityAI,
      ActivityIds.PartyCog: DistributedPartyCogActivityAI}
     for activity in self.info['activities']:
         actId = activity[0]
         if actId in actId2Class:
             act = actId2Class[actId](self.air, self.doId, activity)
             act.generateWithRequired(self.zoneId)
             self.activities.append(act)
         elif actId == ActivityIds.PartyCannon:
             if not self.cannonActivity:
                 self.cannonActivity = DistributedPartyCannonActivityAI(self.air, self.doId, activity)
                 self.cannonActivity.generateWithRequired(self.zoneId)
             act = DistributedPartyCannonAI(self.air)
             act.setActivityDoId(self.cannonActivity.doId)
             x, y, h = activity[1:]
             x = PartyUtils.convertDistanceFromPartyGrid(x, 0)
             y = PartyUtils.convertDistanceFromPartyGrid(y, 1)
             h *= PartyGridHeadingConverter
             act.setPosHpr(x, y, 0, h, 0, 0)
             act.generateWithRequired(self.zoneId)
             self.activities.append(act)