Drag[en]gine Script Module DragonScript  1.23
Dragengine.Scenery.BehaviorCompatiblePersistency Interface Reference

Interface for behaviors supporting compatible persistency. More...

Inheritance diagram for Dragengine.Scenery.BehaviorCompatiblePersistency:
Dragengine.Scenery.DefaultECBehavior Dragengine.Gui.MainMenus.Interactive.IMMBehaviorColliderInteract Dragengine.Gui.MainMenus.Interactive.IMMBehaviorHotSpot Dragengine.Scenery.ECBCTRRBindings Dragengine.Scenery.ECBehaviorActorAIAction Dragengine.Scenery.ECBehaviorActorAnimated Dragengine.Scenery.ECBehaviorActorCutscene Dragengine.Scenery.ECBehaviorActorIK Dragengine.Scenery.ECBehaviorActorMover Dragengine.Scenery.ECBehaviorActorMoverUnstuck Dragengine.Scenery.ECBehaviorActorTransmission Dragengine.Scenery.ECBehaviorAlignActor Dragengine.Scenery.ECBehaviorAnchorElement Dragengine.Scenery.ECBehaviorAnimated Dragengine.Scenery.ECBehaviorAnnouncer Dragengine.Scenery.ECBehaviorAttachDynamicSkin Dragengine.Scenery.ECBehaviorAttachSlot Dragengine.Scenery.ECBehaviorAttachToParent Dragengine.Scenery.ECBehaviorAttachable Dragengine.Scenery.ECBehaviorAttachments Dragengine.Scenery.ECBehaviorAvoidCollision Dragengine.Scenery.ECBehaviorAvoidedByActor Dragengine.Scenery.ECBehaviorBehaviorTree Dragengine.Scenery.ECBehaviorBehaviorTreeFlags Dragengine.Scenery.ECBehaviorBehaviorTreeTimer Dragengine.Scenery.ECBehaviorBillboard Dragengine.Scenery.ECBehaviorBodyTilting Dragengine.Scenery.ECBehaviorCamera Dragengine.Scenery.ECBehaviorClearPath Dragengine.Scenery.ECBehaviorCollider Dragengine.Scenery.ECBehaviorColliderAI Dragengine.Scenery.ECBehaviorComponent Dragengine.Scenery.ECBehaviorComposed Dragengine.Scenery.ECBehaviorControlDesktop Dragengine.Scenery.ECBehaviorConversation Dragengine.Scenery.ECBehaviorConversationActor Dragengine.Scenery.ECBehaviorConvoCoordSystem Dragengine.Scenery.ECBehaviorCustomColor Dragengine.Scenery.ECBehaviorDayTimeSky Dragengine.Scenery.ECBehaviorDecal Dragengine.Scenery.ECBehaviorDynamicSkin Dragengine.Scenery.ECBehaviorEnvMapProbe Dragengine.Scenery.ECBehaviorEvaluate Dragengine.Scenery.ECBehaviorFootSteps Dragengine.Scenery.ECBehaviorForceField Dragengine.Scenery.ECBehaviorGrabSpot Dragengine.Scenery.ECBehaviorGrabber Dragengine.Scenery.ECBehaviorHearSounds Dragengine.Scenery.ECBehaviorHitScan Dragengine.Scenery.ECBehaviorInteractPrompt Dragengine.Scenery.ECBehaviorInteractionSpot Dragengine.Scenery.ECBehaviorInventory Dragengine.Scenery.ECBehaviorLight Dragengine.Scenery.ECBehaviorLightDimmer Dragengine.Scenery.ECBehaviorLocomotion Dragengine.Scenery.ECBehaviorLookAt Dragengine.Scenery.ECBehaviorLookedAt Dragengine.Scenery.ECBehaviorMoveOnRail Dragengine.Scenery.ECBehaviorNStateGeometry Dragengine.Scenery.ECBehaviorNStateLocomotion Dragengine.Scenery.ECBehaviorNavigationBlocker Dragengine.Scenery.ECBehaviorNavigationSpace Dragengine.Scenery.ECBehaviorNavigator Dragengine.Scenery.ECBehaviorNetworkState Dragengine.Scenery.ECBehaviorOccupier Dragengine.Scenery.ECBehaviorOutline Dragengine.Scenery.ECBehaviorParameterTable Dragengine.Scenery.ECBehaviorParticleEmitter Dragengine.Scenery.ECBehaviorPlaySound Dragengine.Scenery.ECBehaviorPlayerControllable Dragengine.Scenery.ECBehaviorPlayerInputCrouch Dragengine.Scenery.ECBehaviorPlayerInputLook Dragengine.Scenery.ECBehaviorPlayerInputMove Dragengine.Scenery.ECBehaviorPlayerInputTurn Dragengine.Scenery.ECBehaviorPlayerInteractPrompt Dragengine.Scenery.ECBehaviorPlayerLookAtInteractPrompt Dragengine.Scenery.ECBehaviorProjectToGround Dragengine.Scenery.ECBehaviorRandomizeCreation Dragengine.Scenery.ECBehaviorRandomizeGeometry Dragengine.Scenery.ECBehaviorRenderableCamera Dragengine.Scenery.ECBehaviorRenderableCanvas Dragengine.Scenery.ECBehaviorRenderableCanvasBase Dragengine.Scenery.ECBehaviorRenderableCustomColor Dragengine.Scenery.ECBehaviorRenderableDesktop Dragengine.Scenery.ECBehaviorRenderableLight Dragengine.Scenery.ECBehaviorRenderablePanel Dragengine.Scenery.ECBehaviorRidable Dragengine.Scenery.ECBehaviorRideOn Dragengine.Scenery.ECBehaviorShowElement Dragengine.Scenery.ECBehaviorShowMessage Dragengine.Scenery.ECBehaviorSkinSwitcher Dragengine.Scenery.ECBehaviorSky Dragengine.Scenery.ECBehaviorSpeaker Dragengine.Scenery.ECBehaviorStashable Dragengine.Scenery.ECBehaviorStateMachine Dragengine.Scenery.ECBehaviorStepAside Dragengine.Scenery.ECBehaviorTimer Dragengine.Scenery.ECBehaviorToggle Dragengine.Scenery.ECBehaviorTouchSensor Dragengine.Scenery.ECBehaviorTouching Dragengine.Scenery.ECBehaviorTriggered Dragengine.Scenery.ECBehaviorTwoStateAnimated Dragengine.Scenery.ECBehaviorVRControlDesktop Dragengine.Scenery.ECBehaviorVRHMD Dragengine.Scenery.ECBehaviorVRHand Dragengine.Scenery.ECBehaviorVRHandAction Dragengine.Scenery.ECBehaviorVRHandLaserPointer Dragengine.Scenery.ECBehaviorVRHandPointAt Dragengine.Scenery.ECBehaviorVRHandPointedAt Dragengine.Scenery.ECBehaviorVRHandPose Dragengine.Scenery.ECBehaviorVRPlayspace

Public Member Functions

String getBehaviorID ()
 Unique identifier of behavior. 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...
 

Detailed Description

Interface for behaviors supporting compatible persistency.

Version
1.5

Compatible persistency behaviors allow BehaviorElement to persist behavior instances in a backward and future expansion compatible way. Such behaviors needs to provide a unique behavior identifier saved together with the behavior instance data. While loading the behavior data is matched by using this behavior identifier.

Furthermore if a behavior data block does not match any behavior all behaviors are asked if they know how to load the behavior data block although not belonging to them. This is required if a user replaces a behavior with another behavior providing the same but enhanced behavior. Typically these behaviors are subclass of the replaced behavior. They can be written to support reading the behavior data block of the super class they enhance to avoid breaking save files if possible.

Member Function Documentation

◆ getBehaviorID()

String Dragengine.Scenery.BehaviorCompatiblePersistency.getBehaviorID ( )

Unique identifier of behavior.

Version
1.5

Has to return a string which is unique in the owner BehaviorElementClass. This string will be stored while persisting BehaviorElement instances. This allows to assign restored behavior instance data to the correct behavior instance if present.

Implemented in Dragengine.Scenery.DefaultECBehavior.

◆ loadSupportedData()

void Dragengine.Scenery.BehaviorCompatiblePersistency.loadSupportedData ( String  identifier,
PersistencyEnvironment  env,
FileReader  reader,
ECBehaviorInstance  instance 
)

Load instance data of another behavior.

Version
1.5

Called if supportsBehaviorID(String) returns true for identifier. BehaviorElement requests behavior to load the supported instance data block into instance.

Implemented in Dragengine.Scenery.DefaultECBehavior.

◆ supportsBehaviorID()

bool Dragengine.Scenery.BehaviorCompatiblePersistency.supportsBehaviorID ( String  identifier)

Behavior supports loading instance data of another behavior.

Version
1.5

Returns true if thie behavior supports loading instance data of another behavior matching behavior identifier. Called for all behaviors if BehaviorElement encountered an instance data block with a behavior identifier not matching any behavior instances.

Implemented in Dragengine.Scenery.DefaultECBehavior.


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