Drag[en]gine Script Module DragonScript
1.23
|
Behavior element behavior adding support to use dynamic skin on attaching. More...
Classes | |
class | Instance |
Behavior instance. More... | |
Public Member Functions | |
ECBehaviorInstance | createInstance (BehaviorElement element) |
Create Behavior instance. More... | |
void | dispose () |
Dispose of behavior. More... | |
ECBehaviorAttachable | getAttachable () |
Attachable behavior or null if not used. More... | |
ECBehaviorComponent | getComponent () |
Component behavior. More... | |
Instance | instance (BehaviorElement element) |
Get instance in element from owner element class. More... | |
ECBehaviorAttachDynamicSkin | new (BehaviorElementClass eclass, ECBehaviorComponent component, ECBehaviorAttachable attachable) |
Create behavior element class. More... | |
ECBehaviorAttachDynamicSkin | new (BehaviorElementClass eclass, ECBehaviorComponent component, ECBehaviorAttachable attachable, String id) |
ECBehaviorAttachDynamicSkin | new (BehaviorElementClass eclass, ECBehaviorComponent component, ECBehaviorAttachable attachable, String id, 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... | |
Static Public Member Functions | |
static Array | getAllBehaviorsIn (BehaviorElementClass eclass) |
Get list of all behaviors in element. More... | |
static Array | getAllInstancesIn (BehaviorElement element) |
Get list of all instances in element. More... | |
static ECBehaviorAttachDynamicSkin | getBehaviorIn (BehaviorElementClass eclass) |
Get behavior in element class or null if absent. More... | |
static ECBehaviorAttachDynamicSkin | getBehaviorIn (BehaviorElementClass eclass, String id) |
Get behavior with id in element class or null if absent. More... | |
static Instance | getInstanceIn (BehaviorElement element) |
Get instance in element or null if absent. More... | |
static Instance | getInstanceIn (BehaviorElement element, String id) |
Get instance with id in element or null if absent. More... | |
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 support to use dynamic skin on attaching.
For use together with ECBehaviorAttachToParent or ECBehaviorAttachable. Upon attaching the element to a parent element the dynamic skin of parent element ECBehaviorDynamicSkin is assigned to this element ECBehaviorComponent. If an ECBehaviorAttachSlot is involved supports also detaching when the dynamic skin is removed.
This behavior helps with situations where a child element has to use the same dynamic skin as the parent it is attached to. A typical example would be a base object using dynamic skin to show a user selected paint color or showing flashing emissive textures where child elements should match up with. The dynamic skin is controlled by the parent element and can be used for all child elements.
Do not use this behavior together with child elements using their own ECBehaviorDynamicSkin otherwise this dynamic skin will be overwritten.
By default the behavior is configured to be used by attaching to parent element using ECBehaviorAttachToParent. If ECBehaviorAttachable is also present a listener is added to also react to being added and removed from ECBehaviorAttachSlot. By default the ECBehaviorComponent with empty ID is assigned the ECBehaviorDynamicSkin with empty ID. This can be configured.
Element class properties have the prefix "attachDynamicSkin.".
This element behavior can be present multiple times with different identifiers.
This behavior does not require the element class to be persistable (setPersistable).
ECBehaviorInstance Dragengine.Scenery.ECBehaviorAttachDynamicSkin.createInstance | ( | BehaviorElement | element | ) |
Create Behavior instance.
Implements Dragengine.Scenery.ECBehavior.
void Dragengine.Scenery.ECBehaviorAttachDynamicSkin.dispose | ( | ) |
Dispose of behavior.
Reimplemented from Dragengine.Scenery.DefaultECBehavior.
|
static |
Get list of all behaviors in element.
Returns list contains ECBehaviorAttachDynamicSkin behaviors in the order they have been created in the element.
|
static |
Get list of all instances in element.
Returns list contains ECBehaviorAttachDynamicSkin.Instance instances in the order they have been created in the element.
ECBehaviorAttachable Dragengine.Scenery.ECBehaviorAttachDynamicSkin.getAttachable | ( | ) |
Attachable behavior or null if not used.
|
static |
Get behavior in element class or null if absent.
Use this method to check if a particular BehaviorElementClass contains a behavior of type ECBehaviorComponent.
|
static |
Get behavior with id in element class or null if absent.
Use this method to check if a particular BehaviorElementClass contains a behavior of type ECBehaviorAttachDynamicSkin with specific identifier.
ECBehaviorComponent Dragengine.Scenery.ECBehaviorAttachDynamicSkin.getComponent | ( | ) |
Component behavior.
|
static |
Get instance in element or null if absent.
Use this method to check if a particular BehaviorElement contains a behavior instance of type ECBehaviorAttachDynamicSkin.Instance . If more than one instance is present returns the first instance.
|
static |
Get instance with id in element or null if absent.
Use this method to check if a particular BehaviorElement contains a behavior instance of type ECBehaviorAttachDynamicSkin.Instance with specific identifier.
Instance Dragengine.Scenery.ECBehaviorAttachDynamicSkin.instance | ( | BehaviorElement | element | ) |
Get instance in element from owner element class.
ECBehaviorAttachDynamicSkin Dragengine.Scenery.ECBehaviorAttachDynamicSkin.new | ( | BehaviorElementClass | eclass, |
ECBehaviorComponent | component, | ||
ECBehaviorAttachable | attachable | ||
) |
Create behavior element class.
These values are optional and can be null: attachable
ECBehaviorAttachDynamicSkin Dragengine.Scenery.ECBehaviorAttachDynamicSkin.new | ( | BehaviorElementClass | eclass, |
ECBehaviorComponent | component, | ||
ECBehaviorAttachable | attachable, | ||
String | id | ||
) |
ECBehaviorAttachDynamicSkin Dragengine.Scenery.ECBehaviorAttachDynamicSkin.new | ( | BehaviorElementClass | eclass, |
ECBehaviorComponent | component, | ||
ECBehaviorAttachable | attachable, | ||
String | id, | ||
String | prefix | ||
) |