Drag[en]gine Script Module DragonScript
1.23
|
Behavior tree rule running an action. More...
Public Member Functions | |
BTAction | getAction () |
String | getActionID () |
Action identifier. More... | |
BTRuleAction | new (String id, String actionID) |
Create behavior tree rule. More... | |
BTResult | run (BTContext context) |
Run action. More... | |
String | toString () |
Public Member Functions inherited from Dragengine.BehaviorTreeSystem.BTRule | |
void | addCondition (String condition) |
Add condition. More... | |
bool | evaluateConditions (BTContext context) |
Evaluate all conditions. More... | |
String | findCondition (Block ablock) |
Find condition with block with parameter String. More... | |
void | forEachCondition (Block ablock) |
Visit conditions with block with parameter String. More... | |
String | getConditionAt (int index) |
Get condition at index. More... | |
int | getConditionCount () |
Number of conditions. More... | |
ConditionMode | getConditionMode () |
Condition mode from eConditionModes. More... | |
String | getID () |
Unique rule identifier or null. More... | |
Dictionary | getParameters () |
Parameters as Dictionary of type String key and String value. More... | |
BTRule | getParent () |
Parent rule or null if this is the root rule in a behavior tree. More... | |
int | indexOfCondition (String condition) |
Index of condition or -1 if absent. More... | |
BTRule | new (String id) |
Create behavior tree rule. More... | |
void | removeAllConditions () |
Remove all conditions. More... | |
void | removeCondition (String condition) |
Remove condition. More... | |
void | setConditionMode (ConditionMode mode) |
Set condition mode from eConditionModes. More... | |
void | setParent (BTRule rule) |
Set parent rule or null if this is the root rule in a behavior tree. More... | |
Public Attributes | |
String | pActionID |
Public Attributes inherited from Dragengine.BehaviorTreeSystem.BTRule | |
ConditionMode | pConditionMode |
Array | pConditions |
String | pID |
Dictionary | pParameters |
WeakReference | pParent |
Behavior tree rule running an action.
This is the main working rule connecting game logic to the behavior tree. BTAction subclasses are created by the game developer and added to the behavior tree. If the rule is run the action is looked up and run. The return value of the action becomes the return value of the rule.
For performance reasons the action is looked up once then stored in the rule. This is correct behavior as long as the rules are not changed at run-time. If you need changing actions at run-time implement a BTAction forwarding to the desired BTAction. This way the cached action stays valid while the actual BTAction called inside can change. This is though an elaborate situation. Usually actions are added to the behavior tree once and then never change.
BTAction Dragengine.BehaviorTreeSystem.BTRuleAction.getAction | ( | ) |
String Dragengine.BehaviorTreeSystem.BTRuleAction.getActionID | ( | ) |
Action identifier.
BTRuleAction Dragengine.BehaviorTreeSystem.BTRuleAction.new | ( | String | id, |
String | actionID | ||
) |
Create behavior tree rule.
BTResult Dragengine.BehaviorTreeSystem.BTRuleAction.run | ( | BTContext | context | ) |
Run action.
String Dragengine.BehaviorTreeSystem.BTRuleAction.toString | ( | ) |
String representation of object.
String Dragengine.BehaviorTreeSystem.BTRuleAction.pActionID |