diff options
author | eugue <eug.sun@gmail.com> | 2011-02-12 20:09:41 -0500 |
---|---|---|
committer | eugue <eug.sun@gmail.com> | 2011-02-12 20:09:41 -0500 |
commit | 1e8b07e52c8b15b9bf4d9dc357f56bc8bbccc718 (patch) | |
tree | cb80c07023d8f4781d95e23f989976093f7c9d5d /operationscore/Behavior.py | |
parent | 9e342041f05e88f8d1987a48fdcdc10c14ef095f (diff) | |
parent | a239c7accdc634459d2db014b8d8b6d5b78bab1b (diff) |
Merge branch 'master' of github.com:rcoh/SmootLight into behavior-factory
Diffstat (limited to 'operationscore/Behavior.py')
-rw-r--r-- | operationscore/Behavior.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/operationscore/Behavior.py b/operationscore/Behavior.py index 6424842..7090a23 100644 --- a/operationscore/Behavior.py +++ b/operationscore/Behavior.py @@ -1,9 +1,6 @@ - import pdb from operationscore.SmootCoreObject import * from logger import main_log -#timeStep is called on every iteration of the LightInstallation -#addInput is called on each individual input received, and the inputs queue class Behavior(SmootCoreObject): """Abstract class for a behavior. On every time step, the behavior is passed the inputs from all sensors it is bound to as well as any recursive inputs that it @@ -22,6 +19,7 @@ class Behavior(SmootCoreObject): self.recursiveResponseQueue = [] self.sensorResponseQueue = [] self.outGoingQueue = [] + self.lastState = None self.behaviorInit() def behaviorInit(self): pass @@ -44,6 +42,13 @@ class Behavior(SmootCoreObject): else: self.addInput(sensorInputs) #private + def getLastOutput(self): + return self.lastState + def setLastOutput(self, output): + """Override to modify state. For example: if you are using a behavior that does uses + strings for location specification, you will want to override this to point to a single + location. Make sure you keep lastState as a [] of {}. (List of dicts)""" + self.lastState = output def addMapperToResponse(self, responses): if self['Mapper'] != None: if type(responses) == type(tuple): @@ -59,5 +64,6 @@ class Behavior(SmootCoreObject): self.recursiveResponseQueue) self.sensorResponseQueue = [] self.recursiveResponseQueue = recursions + self.setLastOutput(outputs) main_log.debug(self['Id'] + ' Ouputs ' + str(outputs)) return self.addMapperToResponse(outputs) |