feat: serialized state machine & states

This commit is contained in:
2025-04-30 19:20:45 +03:00
parent d2ca85568f
commit bd5eb432b7
4 changed files with 36 additions and 6 deletions

View File

@@ -7,10 +7,24 @@ public abstract class StateBehaviourBase : Behaviour, IState
public event IState.StateUpdateEventHandler? OnStateUpdate = null;
public event IState.StateTransitionedFromEventHandler? OnStateTransitionedFrom = null;
public event IState.StateTransitionedToEventHandler? OnStateTransitionedTo = null;
public event INameable.NameChangedEventHandler? OnNameChanged = null;
public abstract event IState.StateTransitionReadyEventHandler? OnStateTransitionReady;
public abstract string Name { get; }
private string _name = string.Empty;
public string Name
{
get => _name;
set
{
if (_name.CompareTo(value) == 0)
return;
string previousName = _name;
_name = value;
OnNameChanged?.Invoke(this, previousName);
}
}
protected virtual void OnUpdateState() { }
public void Update()