Namespace Danmokou.SM
Classes
AlternateUSM
alternate
: Run only one of the provided StateMachines, using the indexer function to determine which.
AnimatorControllerLASM
anim
: Run animations on the executing BEH.
BreakSM
break
: Indicates that its parent should take no more children.
BxBCollideLASM
collide
: Set up collision handlers for bullet-on-bullet collision.
DerivedSMContext
A SM context that does not cleanup objects when it is disposed.
DialoguePhaseSM
EndPSM
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.
EventLASM
event
: Handle configuring, subscribing to, and running events.
GTRepeat
gtr
: A generic repeater for StateMachines. Supports the same interface as gcr
/gir
.
Note: the constructor takes StateMachine[] and not List<SM>, which means you must explicitly wrap multiple SMs in brackets.
GTRepeat2
gtr2
: Like GTRepeat, but has specific handling for the WAIT, TIMES, and rpp properties.
HelperStateMachines
IfUSM
if
: Choose between two SMs based on the predicate.
LineActionSM
The basic unit of control in SMs. These cannot be used directly and must instead be placed under PhaseSequentialActionSM or PhaseParallelActionSM or GTRepeat.
LoadedStateMachine
NoBlockUSM
~
: Run the child SM without blocking.
ParallelSM
PatternContext
PatternProperty
A modifier that affects an entire pattern script.
PatternSM
pattern
: Top-level controller for SMs involving danmaku or level control.
Does not encompass text control (ScriptTSM).
PhaseContext
PhaseParallelActionSM
paction
: A list of actions that are run in parallel. Place this under a PhaseSM.
PhaseProperty
Markers that modify the behavior of PhaseSM.
PhaseSequentialActionSM
saction
: A list of actions that are run in sequence. Place this under PhaseSM.
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.
ReflectableLASM
ReflectableSLSM
RetargetUSM
@
: Run an SM on another BEH.
ScriptLineSM
ScriptTSM
script
: Top-level controller for dialogue files.
This code is maintained for backwards compatibility; please use the new VN interfaces instead.
SequentialSM
SMContext
SMReflection
All public functions in this repository can be used as LASM state machines.
SoftcullProperties
Synchronization
Synchronization events for use in SMs.
TimerControllerLASM
timer
: Control shared timer objects.
TSMReflection
Enums
TSMReflection.StandLocation
Delegates
AnimatorControllerLASM.Animate
BxBCollideLASM.ColliderFn
EventLASM.EventTask
TimerControllerLASM.TimerControl
TTaskPattern
SM-like invocation for text SMs.