def generate(self): DistributedObjectAI.generate(self) for activityInfo in self.partyInfo['activities']: if activityInfo[0] not in self.ACTIVITIES: self.notify.warning('Tried to generate invalid activity %s' % activityInfo[0]) continue if activityInfo[0] == PartyGlobals.ActivityIds.PartyCannon: if not self.cannonActivityGenerated: self.cannonActivity = DistributedPartyCannonActivityAI(self.air, self, activityInfo) self.cannonActivity.generateWithRequired(self.zoneId) self.cannonActivityGenerated = 1 activity = DistributedPartyCannonAI(self.air) activity.setActivityDoId(self.cannonActivity.doId) x = PartyUtils.convertDistanceFromPartyGrid(activityInfo[1], 0) y = PartyUtils.convertDistanceFromPartyGrid(activityInfo[2], 1) h = activityInfo[3] * PartyGlobals.PartyGridHeadingConverter activity.setPosHpr(x, y, 0, h, 0, 0) else: activity = self.ACTIVITIES[activityInfo[0]](self.air, self, activityInfo) activity.generateWithRequired(self.zoneId) self.activities.append(activity)
def __init__(self, air, parent, activityInfo): DistributedObjectAI.__init__(self, air) self.parent = parent self.state = None self.x = PartyUtils.convertDistanceFromPartyGrid(activityInfo[1], 0) self.y = PartyUtils.convertDistanceFromPartyGrid(activityInfo[2], 1) self.h = activityInfo[3] * PartyGlobals.PartyGridHeadingConverter self.toonsPlaying = {}