Drag[en]gine Script Module DragonScript
1.21
|
Behavior element behavior adding collider support suitable for actor AI. More...
Classes | |
class | BlockListenerFactory |
Factory creating listeners using block. More... | |
class | DefaultListener |
Default implementation of behavior instance listener. More... | |
class | Instance |
Behavior instance. More... | |
interface | Listener |
Listener for behavior instance events. More... | |
interface | ListenerFactory |
Factory creating listeners. More... | |
Public Member Functions | |
void | addListenerFactory (Block blockFactory) |
Add listener factory using block. More... | |
void | addListenerFactory (ListenerFactory factory) |
Add listener factory. More... | |
void | createListeners (Instance instance) |
Create listeners from factories adding them to behavior instance. More... | |
void | dispose () |
Dispose of behavior. More... | |
void | forEachListenerFactory (Block ablock) |
Visit listener factories with block with argument ListenerFactory. More... | |
ECBehaviorCollider | getBaseCollider () |
Base collider behavior. More... | |
ECComposeCollisionFilter | getCollisionFilter () |
Collision filter for AI collider. More... | |
ECBehaviorColliderAI | new (BehaviorElementClass eclass, ECBehaviorCollider baseCollider) |
Create behavior element class. More... | |
ECBehaviorColliderAI | new (BehaviorElementClass eclass, ECBehaviorCollider baseCollider, String prefix) |
Public Member Functions inherited from Dragengine.Scenery.DefaultECBehavior | |
void | assignInstanceIndex (int instanceIndex) |
Assign instance index. More... | |
String | getBehaviorID () |
Unique identifier of behavior. More... | |
String | getID () |
Identifier. More... | |
int | getInstanceIndex () |
Instance index. More... | |
void | loadSupportedData (String identifier, PersistencyEnvironment env, FileReader reader, ECBehaviorInstance instance) |
Load instance data of another behavior. More... | |
bool | supportsBehaviorID (String identifier) |
Behavior supports loading instance data of another behavior. More... | |
Public Member Functions inherited from Dragengine.Scenery.ECBehavior | |
ECBehaviorInstance | createInstance (BehaviorElement element) |
Create Behavior instance. More... | |
Static Public Member Functions | |
static ECBehaviorColliderAI | getBehaviorIn (BehaviorElementClass eclass) |
Get behavior in element class or null if absent. More... | |
Public Attributes | |
ECBehaviorCollider | pBaseCollider |
ECComposeCollisionFilter | pCollisionFilter |
Array | pListenerFactories |
Additional Inherited Members | |
Protected Member Functions inherited from Dragengine.Scenery.DefaultECBehavior | |
DefaultECBehavior | new (BehaviorElementClass eclass) |
Create default composeable behavior with empty identifier. More... | |
DefaultECBehavior | new (BehaviorElementClass eclass, String id) |
Create default composeable behavior. More... | |
void | setBehaviorID (String identifier) |
Set behavior identifier. More... | |
void | useClassNameAsBehaviorID () |
Set behavior identifier to "<class-name>:<identifier>". More... | |
void | useFullyQualifiedClassNameAsBehaviorID () |
Set behavior identifier to "<fully-qualified-class-name>:<identifier>". More... | |
Behavior element behavior adding collider support suitable for actor AI.
ECBehaviorColliderAI adds a collider which is useable for actor AI usage. This collider is not linked to ECBehaviorComponent but instead creates a ColliderVolume. The shape of the collider can be set manually or obtained from Rig resources. Using shapes from rig resources is usually the simpler way while creating shapes allows for greater flexibility. Otherwise the classes behave similar.
ECBehaviorColliderAI requires ECBehaviorCollider. Do not use this behavior if other behaviors try to move the ECBehaviorCollider. Doing so can produce strange results. Apply velocities and changes to the AI collider.
In contrary to ECBehaviorCollider this behavior does synchronize position with the element position but not vice versa. Actors typically have complex requirements on how their AI collider can move including projecting down to the ground after physics processing has finished. Behaviors suitable for managing collider AI typically update the AI collider velocities during think() and update element position and orientation from AI collider during postThink().
This behavior does require the element class to be persistable (setPersistable).
void Dragengine.Scenery.ECBehaviorColliderAI.addListenerFactory | ( | Block | blockFactory | ) |
void Dragengine.Scenery.ECBehaviorColliderAI.addListenerFactory | ( | ListenerFactory | factory | ) |
Add listener factory.
void Dragengine.Scenery.ECBehaviorColliderAI.createListeners | ( | Instance | instance | ) |
Create listeners from factories adding them to behavior instance.
void Dragengine.Scenery.ECBehaviorColliderAI.dispose | ( | ) |
Dispose of behavior.
Reimplemented from Dragengine.Scenery.DefaultECBehavior.
void Dragengine.Scenery.ECBehaviorColliderAI.forEachListenerFactory | ( | Block | ablock | ) |
Visit listener factories with block with argument ListenerFactory.
ECBehaviorCollider Dragengine.Scenery.ECBehaviorColliderAI.getBaseCollider | ( | ) |
Base collider behavior.
|
static |
Get behavior in element class or null if absent.
Use this method to check if a particular BehaviorElementClass contains a behavior of type ECBehaviorColliderAI.
ECComposeCollisionFilter Dragengine.Scenery.ECBehaviorColliderAI.getCollisionFilter | ( | ) |
Collision filter for AI collider.
ECBehaviorColliderAI Dragengine.Scenery.ECBehaviorColliderAI.new | ( | BehaviorElementClass | eclass, |
ECBehaviorCollider | baseCollider | ||
) |
Create behavior element class.
ECBehaviorColliderAI Dragengine.Scenery.ECBehaviorColliderAI.new | ( | BehaviorElementClass | eclass, |
ECBehaviorCollider | baseCollider, | ||
String | prefix | ||
) |
ECBehaviorCollider Dragengine.Scenery.ECBehaviorColliderAI.pBaseCollider |
ECComposeCollisionFilter Dragengine.Scenery.ECBehaviorColliderAI.pCollisionFilter |
Array Dragengine.Scenery.ECBehaviorColliderAI.pListenerFactories |