Order of execution of events in the system - Katsuya100/SceneLayer-Trial GitHub Wiki
Order of execution of sequence events
For more information about sequence events, click here.
Order of execution of transitions and updates
The order of execution of events in a single transition is specified below.
Horizontal:Frame
Vertical:Processing order in the same frame (from top to bottom)
gantt
dateFormat HH:mm
axisFormat %Mf
Transition:active, 00:00, 2m
Entry:active, 00:01, 1m
PostTransition:active, 00:01, 3m
Update:active, 00:01, 8m
PreTransition:active, 00:06, 3m
Exit:active, 00:08, 1m
Transition:done, 00:08, 2m
The following is a breakdown at the function level.
gantt
dateFormat HH:mm
axisFormat %Mf
section Transition
TransitionBehaviour.OnTransit:active, 00:00, 2m
LayerBehaviour.OnChildTransit:active, 00:00, 2m
LayerBehaviour.OnTransitTo:active, 00:00, 2m
LayerBehaviour.OnTransitFrom:active, 00:00, 2m
LayerBehaviour.OnParentTransitTo:active, 00:00, 2m
LayerBehaviour.OnParentTransitFrom:active, 00:00, 2m
section Entry
LayerBehaviour.OnEntry:active, 00:01, 1m
section PostTransition
TransitionBehaviour.OnPostTransit:active, 00:01, 3m
LayerBehaviour.OnPostChildTransit:active, 00:01, 3m
LayerBehaviour.OnPostTransitTo:active, 00:01, 3m
LayerBehaviour.OnPostTransitFrom:active, 00:01, 3m
LayerBehaviour.OnPostParentTransitTo:active, 00:01, 3m
LayerBehaviour.OnPostParentTransitFrom:active, 00:01, 3m
section Update
LayerBehaviour.OnUpdate:active, 00:01, 8m
section PreTransition
TransitionBehaviour.OnPreTransit:active, 00:06, 3m
LayerBehaviour.OnPreChildTransit:active, 00:06, 3m
LayerBehaviour.OnPreTransitTo:active, 00:06, 3m
LayerBehaviour.OnPreTransitFrom:active, 00:06, 3m
LayerBehaviour.OnPreParentTransitTo:active, 00:06, 3m
LayerBehaviour.OnPreParentTransitFrom:active, 00:06, 3m
section Exit
LayerBehaviour.OnExit:active, 00:08, 1m
section Transition
TransitionBehaviour.OnTransit:done, 00:08, 2m
LayerBehaviour.OnChildTransit:done, 00:08, 2m
LayerBehaviour.OnTransitTo:done, 00:08, 2m
LayerBehaviour.OnTransitFrom:done, 00:08, 2m
LayerBehaviour.OnParentTransitTo:done, 00:08, 2m
LayerBehaviour.OnParentTransitFrom:done, 00:08, 2m
Execution order among layers in the hierarchy
Entryand
Updateare executed in order from the parent. In contrast,
Exit` is executed in the order of its children.
Horizontal:Frame
Vertical:Processing order in the same frame (from top to bottom)
gantt
dateFormat HH:mm
axisFormat %Mf
Parent Layer.Entry:active, pentry, 00:00, 1m
Child Layer.Entry:active, centry, 00:00, 1m
Parent Layer.Update:active, pupdate, 00:00, 8m
Child Layer.Update:active, cupdate, 00:00, 8m
Child Layer.Exit:active, cexit, 00:07, 1m
Parent Layer.Exit:active, pexit, 00:07, 1m
Order of execution of Loader
The order of execution of events in a single Loader process is specified below.
An example is shown in the graph below.
- There is a parent and child
Layer
. - Each has two
Loader
s. - Suppose all these Load processes run simultaneously.
Horizontal:Frame
Vertical:Processing order in the same frame (from top to bottom)
gantt
dateFormat HH:mm
axisFormat %Mf
section Parent
Loader1.Load:active, pl1, 00:00, 2m
Loader1.Instantiate:active, pi1, after pl1, 1m
Loader2.Load:active, pl2, 00:00, 3m
Loader2.Instantiate:active, pi2, after pl2, 4m
section Child
Loader1.Load:active, cl1, after pl1 pl2, 3m
Loader1.Instantiate:active, ci1, after pi1 pi2 cl1, 1m
Loader2.Load:active, cl2, after pl1 pl2, 2m
Loader2.Instantiate:active, ci2, after pi1 pi2 cl2, 1m
Instantiate
of each Loader runs after Load
.
The child Load
depends on the parent's Load
, so it is executed after the parent's Load
is finished.
The child Instantiate
depends on the parent's Instantiate
, so it will be executed after the parent's Instantiate
is finished.
Both child and parent Load
Instantiate
processes are processed in parallel, but they can also have dependencies on each other.
See Load order control for more information on how to create dependencies.