def initAgents(self): """ Setup agents. For this techdemo we have a very simple 'active things on the map' model, which is called agents. All rio maps will have a separate layer for them. Note that we keep a mapping from map instances (C++ model of stuff on the map) to the python agents for later reference. """ self.agentlayer = self.map.getLayer('TechdemoMapGroundObjectLayer') self.hero = Hero(TDS, self.model, 'PC', self.agentlayer) self.instance_to_agent[self.hero.agent.getFifeId()] = self.hero self.hero.start() self.girl = Girl(TDS, self.model, 'NPC:girl', self.agentlayer) self.instance_to_agent[self.girl.agent.getFifeId()] = self.girl self.girl.start() # Fog of War stuff #self.hero.agent.setVisitor(True) #self.hero.agent.setVisitorRadius(2) #self.girl.agent.setVisitor(True) #self.girl.agent.setVisitorRadius(1) self.beekeepers = create_anonymous_agents(TDS, self.model, 'beekeeper', self.agentlayer, Beekeeper) for beekeeper in self.beekeepers: self.instance_to_agent[beekeeper.agent.getFifeId()] = beekeeper beekeeper.start() # Clouds are currently defunct. cloudlayer = self.map.getLayer('TechdemoMapTileLayer') self.clouds = create_anonymous_agents(TDS, self.model, 'Cloud', cloudlayer, Cloud) for cloud in self.clouds: cloud.start(0.1, 0.05)
def initAgents(self): self.agentlayer = self.map.getLayer('MapGroundObjectLayer') self.hero = Hero(TDS, self.model, 'hero', self.agentlayer) self.instance_to_agent[self.hero.agent.getFifeId()] = self.hero self.hero.start()