Drag[en]gine Script Module DragonScript 1.32.1
Loading...
Searching...
No Matches
Dragengine.Scenery.ECBehaviorLight.Factory Class Reference

Behavior factory. More...

Inheritance diagram for Dragengine.Scenery.ECBehaviorLight.Factory:
Dragengine.Scenery.DefaultBehaviorFactory Dragengine.Scenery.BehaviorFactory

Classes

class  Instance
 Behavior instance. More...
 

Public Member Functions

ECBehavior addBehavior (BehaviorElementClass eclass, String id, Dictionary parameters)
 Add behavior to element class.
 
void addListenerFactory (Block blockFactory)
 Add listener factory using block.
 
void addListenerFactory (ListenerFactory factory)
 Add listener factory.
 
void addShadowIgnoreComponent (ECBehaviorComponent component)
 Add component to ignore while casting shadows.
 
void createListeners (Instance instance)
 Create listeners from factories adding them to behavior instance.
 
void dispose ()
 Dispose of behavior.
 
void forEachListenerFactory (Block ablock)
 Visit listener factories with block with argument ListenerFactory.
 
void forEachShadowIgnoreComponent (Block ablock)
 Visit components to ignore while casting shadows using block with parameter ECBehaviorComponent.
 
ECComposeAttachResource getAttach ()
 Attach resource.
 
ECComposeBTSM getBTSMs ()
 Compose behavior trees and state machines.
 
ECBehaviorCollider getCollider ()
 Collider behavior or null to not attach.
 
ECComposeLight getLight ()
 Composeable light for element class.
 
String getPrefix ()
 Prefix.
 
ECBehaviorLight getSyncTrigger ()
 ECBehaviorLight to synchronize triggers with or null to disable.
 
ECBehaviorTriggered getTrigger ()
 Trigger activate.
 
TSTriggerTable getTriggerTable ()
 Trigger table or null if not used.
 
Factory new ()
 
Factory new (BehaviorElementClass eclass, ECBehaviorCollider collider)
 Create behavior element class.
 
Factory new (BehaviorElementClass eclass, ECBehaviorCollider collider, String id)
 
Factory new (BehaviorElementClass eclass, ECBehaviorCollider collider, TSTriggerTable triggerTable)
 
Factory new (BehaviorElementClass eclass, ECBehaviorCollider collider, TSTriggerTable triggerTable, String id)
 
Factory new (BehaviorElementClass eclass, ECBehaviorCollider collider, TSTriggerTable triggerTable, String id, String subID)
 
Factory new (BehaviorElementClass eclass, ECBehaviorCollider collider, TSTriggerTable triggerTable, String id, String subID, String prefix)
 
void setSyncTrigger (ECBehaviorLight behavior)
 Set ECBehaviorLight to synchronize triggers with or null to disable.
 
void setTriggerTable (TSTriggerTable triggerTable)
 Set trigger table or null if not used.
 
- Public Member Functions inherited from Dragengine.Scenery.DefaultBehaviorFactory
void assertIdEmpty (String id)
 Assert id is empty string.
 
String factoryId ()
 Unique identifier of factory.
 
BindingManager getBindingManagerFor (String value)
 Binding manager matching value.
 
CommandManager getCommandManagerFor (String value)
 Command manager matching value.
 
BehaviorFactoryHelper getHelper ()
 Helper to use.
 
ECBehaviorPlayerControllable.Tracker getPlayerControllableActorFor (String value)
 Player controllable actor matching value.
 
ECBehaviorPlayerControllable.Tracker getPlayerControlledActorFor (String value)
 Trigger table matching value.
 
SimpleConversationConverter getSimpleConversationConverterFor (String value)
 Simple conversation converter matching value.
 
ConversationPlaybackSubTitle getSubTitleFor (String value)
 Conversation playback subtitle matching value.
 
GuiTheme getSubtitleThemeFor (String value)
 Subtitle gui theme matching value.
 
TranslationManager getTranslationManagerFor (String value)
 Translation manager matching value.
 
TSTriggerTable getTriggerTableFor (String value)
 Trigger table matching value.
 
DefaultBehaviorFactory new (String id)
 
void setHelper (BehaviorFactoryHelper helper)
 Set helper to use.
 

Static Public Member Functions

static ECBehaviorLight getBehaviorIn (BehaviorElementClass eclass)
 Get behavior in element class or null if absent.
 

Public Attributes

ECComposeAttachResource pAttach
 
ECComposeBTSM pBTSMs
 
ECBehaviorCollider pCollider
 
ECComposeLight pLight
 
Array pListenerFactories
 
String pPrefix
 
Array pShadowIgnoreComponents
 
ECBehaviorLight pSyncTrigger
 
ECBehaviorTriggered pTrigger
 
TSTriggerTable pTriggerTable
 
- Public Attributes inherited from Dragengine.Scenery.DefaultBehaviorFactory
String pFactoryId
 
BehaviorFactoryHelper pHelper
 

Detailed Description

Behavior factory.

Version
1.25

Automatically assigns these behaviors if present before adding:

  • Optional: ECBehaviorCollider

Example XML element class:

<behavior type='ECBehaviorLight'>
<!-- optional: set layer mask as list of bits to set. default is '0 1' which means
BaseGameApp.WorldLayerBit.default, BaseGameApp.WorldLayerBit.envmap -->
<string name='layerMask'>0 1</string>
<!-- optional: set shadow layer mask. default is same as 'layerMask' -->
<string name='layerMaskShadow'>0 1</string>
<!-- optional: use BaseGameApp trigger table. game can add more supported values -->
<string name='triggerTable'>default</string>
<!-- optional: sync trigger with light matching identifier -->
<string name='syncTrigger'>second</string>
<!-- optional: identifier of ECBehaviorTriggered to synchronize with or empty
string to not synchronize. default is empty string. -->
<string name='trigger.synchronize'>other</string>
<!-- optional: add behavior trees. default adds all behavior trees. -->
<list name='behaviorTrees'>
<string/> <!-- add behavior with empty identifier -->
<string>default</string> <!-- add behavior with 'default' identifier -->
</list>
<!-- optional: add state machines. default adds all state machines. -->
<list name='stateMachines'>
<string/> <!-- add behavior with empty identifier -->
<string>default</string> <!-- add behavior with 'default' identifier -->
</list>
<!-- optional: component behaviors not casting shadows. list of behavior identifiers -->
<list name='shadowIgnoreComponents'>
<string>first</string>
<string>second</string>
</list>
</behavior>
<!-- for adding multiple behaviors use unique identifiers -->
<behavior type='ECBehaviorLight' id='second'>
...
</behavior>

Element class properties added by the behavior can also be set directly inside the tag be removing the property name prefix and starting with a "." (for example ".propertyName").

Member Function Documentation

◆ addBehavior()

ECBehavior Dragengine.Scenery.ECBehaviorLight.Factory.addBehavior ( BehaviorElementClass  eclass,
String  id,
Dictionary  parameters 
)

Add behavior to element class.

Some behaviors support parameters. Parameters are provided as a Dictionary with parameter name as String key and parameter value as Object value. The type and format of value depends on the parameter name. Usually parameters indicate a dependency behavior to use. In this case the parameter name indicates the target behavior slot to assign the behavior to and the value is a String with the identifier of the behavior to assign. The target slot defines what what existing behaviors are matched against this identifier. Value can be also null to assign the null behavior.

Parameters
eclassElement class to add behavior to.
idIdentifier to use. Has to be unique amongst same type behaviors.
parametersParameters as Dictionary with String name and Object value.

Implements Dragengine.Scenery.BehaviorFactory.

◆ addListenerFactory() [1/2]

void Dragengine.Scenery.ECBehaviorLight.Factory.addListenerFactory ( Block  blockFactory)

Add listener factory using block.

Block receives as parameter Instance and returns Listener.

◆ addListenerFactory() [2/2]

void Dragengine.Scenery.ECBehaviorLight.Factory.addListenerFactory ( ListenerFactory  factory)

Add listener factory.

◆ addShadowIgnoreComponent()

void Dragengine.Scenery.ECBehaviorLight.Factory.addShadowIgnoreComponent ( ECBehaviorComponent  component)

Add component to ignore while casting shadows.

Version
1.4

◆ createListeners()

void Dragengine.Scenery.ECBehaviorLight.Factory.createListeners ( Instance  instance)

Create listeners from factories adding them to behavior instance.

◆ dispose()

void Dragengine.Scenery.ECBehaviorLight.Factory.dispose ( )

Dispose of behavior.

◆ forEachListenerFactory()

void Dragengine.Scenery.ECBehaviorLight.Factory.forEachListenerFactory ( Block  ablock)

Visit listener factories with block with argument ListenerFactory.

◆ forEachShadowIgnoreComponent()

void Dragengine.Scenery.ECBehaviorLight.Factory.forEachShadowIgnoreComponent ( Block  ablock)

Visit components to ignore while casting shadows using block with parameter ECBehaviorComponent.

Version
1.4

◆ getAttach()

ECComposeAttachResource Dragengine.Scenery.ECBehaviorLight.Factory.getAttach ( )

Attach resource.

◆ getBehaviorIn()

static ECBehaviorLight Dragengine.Scenery.ECBehaviorLight.Factory.getBehaviorIn ( BehaviorElementClass  eclass)
static

Get behavior in element class or null if absent.

Use this method to check if a particular BehaviorElementClass contains a behavior of type ECBehaviorCollider.

◆ getBTSMs()

ECComposeBTSM Dragengine.Scenery.ECBehaviorLight.Factory.getBTSMs ( )

Compose behavior trees and state machines.

Version
1.26

◆ getCollider()

ECBehaviorCollider Dragengine.Scenery.ECBehaviorLight.Factory.getCollider ( )

Collider behavior or null to not attach.

◆ getLight()

ECComposeLight Dragengine.Scenery.ECBehaviorLight.Factory.getLight ( )

Composeable light for element class.

◆ getPrefix()

String Dragengine.Scenery.ECBehaviorLight.Factory.getPrefix ( )

Prefix.

Version
1.26

◆ getSyncTrigger()

ECBehaviorLight Dragengine.Scenery.ECBehaviorLight.Factory.getSyncTrigger ( )

ECBehaviorLight to synchronize triggers with or null to disable.

◆ getTrigger()

ECBehaviorTriggered Dragengine.Scenery.ECBehaviorLight.Factory.getTrigger ( )

Trigger activate.

◆ getTriggerTable()

TSTriggerTable Dragengine.Scenery.ECBehaviorLight.Factory.getTriggerTable ( )

Trigger table or null if not used.

◆ new() [1/7]

Factory Dragengine.Scenery.ECBehaviorLight.Factory.new ( )

◆ new() [2/7]

Factory Dragengine.Scenery.ECBehaviorLight.Factory.new ( BehaviorElementClass  eclass,
ECBehaviorCollider  collider 
)

Create behavior element class.

These values are optional and can be null: collider.

◆ new() [3/7]

Factory Dragengine.Scenery.ECBehaviorLight.Factory.new ( BehaviorElementClass  eclass,
ECBehaviorCollider  collider,
String  id 
)

◆ new() [4/7]

Factory Dragengine.Scenery.ECBehaviorLight.Factory.new ( BehaviorElementClass  eclass,
ECBehaviorCollider  collider,
TSTriggerTable  triggerTable 
)

◆ new() [5/7]

Factory Dragengine.Scenery.ECBehaviorLight.Factory.new ( BehaviorElementClass  eclass,
ECBehaviorCollider  collider,
TSTriggerTable  triggerTable,
String  id 
)

◆ new() [6/7]

Factory Dragengine.Scenery.ECBehaviorLight.Factory.new ( BehaviorElementClass  eclass,
ECBehaviorCollider  collider,
TSTriggerTable  triggerTable,
String  id,
String  subID 
)

◆ new() [7/7]

Factory Dragengine.Scenery.ECBehaviorLight.Factory.new ( BehaviorElementClass  eclass,
ECBehaviorCollider  collider,
TSTriggerTable  triggerTable,
String  id,
String  subID,
String  prefix 
)

◆ setSyncTrigger()

void Dragengine.Scenery.ECBehaviorLight.Factory.setSyncTrigger ( ECBehaviorLight  behavior)

Set ECBehaviorLight to synchronize triggers with or null to disable.

◆ setTriggerTable()

void Dragengine.Scenery.ECBehaviorLight.Factory.setTriggerTable ( TSTriggerTable  triggerTable)

Set trigger table or null if not used.

Member Data Documentation

◆ pAttach

ECComposeAttachResource Dragengine.Scenery.ECBehaviorLight.Factory.pAttach

◆ pBTSMs

ECComposeBTSM Dragengine.Scenery.ECBehaviorLight.Factory.pBTSMs

◆ pCollider

ECBehaviorCollider Dragengine.Scenery.ECBehaviorLight.Factory.pCollider

◆ pLight

ECComposeLight Dragengine.Scenery.ECBehaviorLight.Factory.pLight

◆ pListenerFactories

Array Dragengine.Scenery.ECBehaviorLight.Factory.pListenerFactories

◆ pPrefix

String Dragengine.Scenery.ECBehaviorLight.Factory.pPrefix

◆ pShadowIgnoreComponents

Array Dragengine.Scenery.ECBehaviorLight.Factory.pShadowIgnoreComponents

◆ pSyncTrigger

ECBehaviorLight Dragengine.Scenery.ECBehaviorLight.Factory.pSyncTrigger

◆ pTrigger

ECBehaviorTriggered Dragengine.Scenery.ECBehaviorLight.Factory.pTrigger

◆ pTriggerTable

TSTriggerTable Dragengine.Scenery.ECBehaviorLight.Factory.pTriggerTable

The documentation for this class was generated from the following file: