Predicted State Node
A predicted state node is a class you can inherit from in order to build your own states for the predicted state machine.
There are multiple predicted state node types to inherit from:
PredictedStateNode<STATE>This allows your statenode to hold and simulate statePredictedStateNode<INPUT, STATE>This allows your statenode to hold and simulate state w. input. Optimal for characters/players'
Overrides
These can override a few different methods, in order for you to run functionality unique to the individual states:
EnterThis is optimal for running simulation logic upon entering the stateExitThis is optimal for running simulation logic upon exiting the stateStateSimulateThis is your per‑tick state simulation; runs only when this state is activeViewEnterRun view/visual logic upon entering the state (predicted or verified)ViewExitRun view/visual logic upon exiting the state (predicted or verified)
Mind you, you still have the normal predicted identity override as well!
Snippet
public class AttackState : PredictedStateNode<MyInput, MyState>
{
public override void Enter() { /* start attack windup */ }
protected override void StateSimulate(in MyInput i, ref MyState s, float dt)
{
// simulate attack timing using only s and i
s.attackTimer = Mathf.Max(0, s.attackTimer - dt);
if (s.attackTimer == 0) machine.SetState(nextState);
}
public override void ViewEnter(bool verified)
{ /* play VFX/SFX, camera shake, etc */ }
}Last updated