anim: Run animations on the executing BEH.
break: Indicates that its parent should take no more children.
collide: Set up collision handlers for bullet-on-bullet collision.
A SM context that does not cleanup objects when it is disposed.
end: Child of PhaseSM. When a phase ends under normal conditions (ie. was not cancelled),
run these actions in parallel before moving to the next phase.
event: Handle configuring, subscribing to, and running events.
finish: Child of PhaseSM. When the executing BEH finishes this phase due to timeout (shift-phase) or loss of HP,
runs the child SM on a new inode.
Does not run if the executing BEH is destroyed by a cull command, or goes out of range, or the scene is changed.
gtr: A generic repeater for StateMachines. Supports the same interface as
Note: the constructor takes StateMachine and not List<SM>, which means you must explicitly wrap multiple SMs in brackets.
gtr2: Like GTRepeat, but has specific handling for the WAIT, TIMES, and rpp properties.
if: Choose between two SMs based on the predicate.
~: Run the child SM without blocking.
A modifier that affects an entire pattern script.
pattern: Top-level controller for SMs involving danmaku or level control.
Does not encompass text control (ScriptTSM).
paction: A list of actions that are run in parallel. Place this under a PhaseSM.
Markers that modify the behavior of PhaseSM.
saction: A list of actions that are run in sequence. Place this under PhaseSM.
phase: A high-level SM that controls a "phase", which is a sequence of SMs that may run for variable time
under various ending conditions.
Phases are used to implement 'cards' or 'spells' or 'nonspells' in danmaku games.
Phases also generally share some state due to data hoisting, events, etc. If you use the
type property to declare a card type, or you use the
clear property, then this state and all its bullets will be cleared on phase end.
@: Run an SM on another BEH.
script: Top-level controller for dialogue files.
This code is maintained for backwards compatibility; please use the new VN interfaces instead.
All public functions in this repository can be used as LASM state machines.
Synchronization events for use in SMs.
timer: Control shared timer objects.
SM-like invocation for text SMs.