Package SmootLight :: Package behaviors :: Module SwitchBehavior :: Class SwitchBehavior
[hide private]
[frames] | no frames]

Class SwitchBehavior

source code

                                    object --+        
                                             |        
operationscore.SmootCoreObject.SmootCoreObject --+    
                                                 |    
                  operationscore.Behavior.Behavior --+
                                                     |
                                                    SwitchBehavior


SwitchBehavior is a behavior that transform into different behaviors base on the input data.
The behavior expects a JSON formatted argument 'PrefixToBehavior' that maps prefixes to behaviors. The behavior detects the prefix on the data and use the corresponding Behavior to process the data and return the outputs.
In Config file, include:
  <PrefixToBehavior>JSON format dict with prefix keys and behavior ID values</PrefixToBehavior>
  <DefaultBehavior>Default behavior's ID</DefaultBehavior>
An example config excerpt:
  <Behavior>
    <Class>behaviors.SwitchBehavior</Class>
      <Args>
        <Id>switch</Id>
        <PrefixToBehavior>{'@':'game1', '#':'game2', '$':'game3'}</PrefixToBehavior>
        <DefaultBehavior>game1</DefaultBehavior>
      </Args>
  </Behavior>

Instance Methods [hide private]
 
behaviorInit(self) source code
 
processResponse(self, sInputs, rInputs) source code
 
setBehavior(self, behavior) source code

Inherited from operationscore.Behavior.Behavior: addInput, addInputs, addMapper, addMapperToResponse, getLastOutput, immediateProcessInput, init, setLastOutput, timeStep

Inherited from operationscore.SmootCoreObject.SmootCoreObject: __contains__, __getitem__, __getiter__, __init__, __setitem__, acquireLock, addDieListener, className, die, releaseLock, removeDieListener, validateArgDict, validateArgs

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Static Methods [hide private]

Inherited from operationscore.Behavior.Behavior: deepCopyPacket

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

behaviorInit(self)

source code 
Overrides: operationscore.Behavior.Behavior.behaviorInit

processResponse(self, sInputs, rInputs)

source code 
Overrides: operationscore.Behavior.Behavior.processResponse