Murl Engine Lua Addon API  Version 1.0 beta
Murl.Logic.IStageProcessor

The IStageProcessor interface.

The IStageProcessor is handling a set of IStage objects. The IStage::RunState is controlled by the IStageProcessor.
Optional a graph <Switch> identifier can be specified to automatically select a sub graph attached to a switch child. The graph switch identifier must be set by SetSwitchNodeId() and each IStage registered to the IStageHandler can specify a switch identifier for selecting the active child of the switch at IStage::RUN_STATE_BEGIN_INTRO.
Additional IProcessor objects can be added to the IStageProcessor object by using myStageProc->GetProcessor(myStageProc)->AddChild(). The IProcessor (OnInit, OnProcessTick, OnProcessFrame) is always executed before the stage execution.


Table members

Methods


GetProcessor()

Get the processor interface from a stage-processor object. The IStageProcessor conforms to the IProcessor interface.

Murl.SharedPointer.LogicIProcessor GetProcessor()

Returns
Murl.SharedPointer.LogicIProcessor The processor interface shared pointer.

AddStage(stage)

Add a stage object.

Boolean AddStage(Murl.SharedPointer.LogicIStage stage)

Parameters
stageThe stage object to add.
Returns
Boolean true if successful.

RemoveStage(stage)

Remove a stage object.

Boolean RemoveStage(Murl.SharedPointer.LogicIStage stage)

Parameters
stageThe stage object to remove.
Returns
Boolean true if successful.

InitAddStage(state, stage)

Initialize and add a stage object.

Boolean InitAddStage(Murl.Logic.IState state, Murl.SharedPointer.LogicIStage stage)

Parameters
stateThe IState object.
stageThe stage object to initialize and add.
Returns
Boolean true if successful.

RemoveDeInitStage(state, stage)

Remove and deinitialize a stage object.

Boolean RemoveDeInitStage(Murl.Logic.IState state, Murl.SharedPointer.LogicIStage stage)

Parameters
stateThe IState object.
stageThe stage object to deinitialize and remove.
Returns
Boolean true if successful.

SetSwitchNodeId(switchNodeId)

Set the graph switch node identifier. Must be set before the stage processor is initialized.

Boolean SetSwitchNodeId(String switchNodeId)

Parameters
switchNodeIdThe full path to the graph <Switch> instance.
Returns
Boolean true if successful.

GetSwitchNodeId()

Get the graph switch node identifier.

String GetSwitchNodeId()

Returns
String The switch node identifier string including the full path.

GetStage(stageId)

Get a stage object by name.

Murl.SharedPointer.LogicIStage GetStage(String stageId)

Parameters
stageIdThe identifier of the stage to get.
Returns
Murl.SharedPointer.LogicIStage The stage object or null if the identifier is not found.

SetStageRunState(stageId, runState)

Set the current run state of a stage.

Boolean SetStageRunState(String stageId, Murl.Logic.IStage.RunState runState)

Parameters
stageIdThe identifier of the stage to modify.
runStateThe run state to set.
Returns
Boolean true if successful.

IsAnyTimelineRunning()

Check if any stage's IStageTimeline is running.

Boolean IsAnyTimelineRunning()

Returns
Boolean true if any stage timeline is running.

StartIntro(stageId)

Start a stage intro. Execute the IStage::StartStageIntro() method.

Boolean StartIntro(String stageId)

Parameters
stageIdThe identifier of the stage to start.
Returns
Boolean true if successful, false if the identifier is not found or IStage::StartStageIntro() failed.

StartIntro(stageId, startTime)

Start a stage intro and set the IStageTimeline intro start time. Execute the IStage::StartStageIntro() method.

Boolean StartIntro(String stageId, Number startTime)

Parameters
stageIdThe identifier of the stage to start.
startTimeThe IStageTimeline intro start time.
Returns
Boolean true if successful, false if the identifier is not found or IStage::StartStageIntro() failed.

StartIntro(stageId, startTime, endTime)

Start a stage intro and set the IStageTimeline intro (start / end) time. Execute the IStage::StartStageIntro() method.

Boolean StartIntro(String stageId, Number startTime, Number endTime)

Parameters
stageIdThe identifier of the stage to start.
startTimeThe IStageTimeline intro start time.
endTimeThe IStageTimeline intro end time.
Returns
Boolean true if successful, false if the identifier is not found or IStage::StartStageIntro() failed.

StartOutro(stageId)

Start a stage outro. Execute the IStage::StartStageOutro() method.

Boolean StartOutro(String stageId)

Parameters
stageIdThe identifier of the stage to start.
Returns
Boolean true if successful, false if the identifier is not found or IStage::StartStageOutro() failed.

StartOutro(stageId, endTime)

Start a stage outro and set the IStageTimeline outro end time. Execute the IStage::StartStageOutro() method.

Boolean StartOutro(String stageId, Number endTime)

Parameters
stageIdThe identifier of the stage to start.
endTimeThe IStageTimeline outro end time.
Returns
Boolean true if successful, false if the identifier is not found or IStage::StartStageOutro() failed.

StartOutro(stageId, startTime, endTime)

Start a stage outro and set the IStageTimeline outro (start / end) time. Execute the IStage::StartStageOutro() method.

Boolean StartOutro(String stageId, Number startTime, Number endTime)

Parameters
stageIdThe identifier of the stage to start.
startTimeThe IStageTimeline outro start time.
endTimeThe IStageTimeline outro end time.
Returns
Boolean true if successful, false if the identifier is not found or IStage::StartStageOutro() failed.