Mercurial > fife-parpg
view clients/rio_de_hola/scripts/agents/agent.py @ 182:bcc93e17f978
- added new plugin to FIFedit (Layertool)
FEATURES:
- layers now can be toogled visible / invisible
- tool also allows layer selection (better workflow IMO) - just click on the layer name
- demo screencapture can be found here: http://zero-projekt.net/files/screencaptures/1280x_zero_fifedit_layertool.ogg
Please let me know if this plugin causes any trouble for you.
author | chewie@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Wed, 11 Feb 2009 19:27:18 +0000 |
parents | 9a1529f9625e |
children |
line wrap: on
line source
import fife from scripts.common.common import ProgrammingError class Agent(fife.InstanceActionListener): def __init__(self, model, agentName, layer, uniqInMap=True): fife.InstanceActionListener.__init__(self) self.model = model self.agentName = agentName self.layer = layer if uniqInMap: self.agent = layer.getInstance(agentName) self.agent.addActionListener(self) def onInstanceActionFinished(self, instance, action): raise ProgrammingError('No OnActionFinished defined for Agent') def start(self): raise ProgrammingError('No start defined for Agent') def create_anonymous_agents(model, objectName, layer, agentClass): agents = [] instances = [a for a in layer.getInstances() if a.getObject().getId() == objectName] i = 0 for a in instances: agentName = '%s:i:%d' % (objectName, i) i += 1 agent = agentClass(model, agentName, layer, False) agent.agent = a a.addActionListener(agent) agents.append(agent) return agents