view clients/rio_de_hola/scripts/agents/beekeeper.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

from agent import Agent
import fife, random

_STATE_NONE, _STATE_TALK = 0, 1

class Beekeeper(Agent):
	def __init__(self, model, agentName, layer, uniqInMap=True):
		super(Beekeeper, self).__init__(model, agentName, layer, uniqInMap)
		self.state = _STATE_NONE

	def onInstanceActionFinished(self, instance, action):
		self.talk()

	def start(self):
		self.facingLoc = self.agent.getLocation()
		c = self.facingLoc.getExactLayerCoordinatesRef()
		c.x += random.randint(-1, 1)
		c.y += random.randint(-1, 1)
		self.talk()

	def talk(self):
		self.state = _STATE_TALK
		self.agent.act('talk', self.facingLoc, True) # never calls back