feat: safe delegate invocation helper added

This commit is contained in:
2025-04-13 19:08:47 +03:00
parent 00f7b1aaab
commit 58eb373c79
21 changed files with 116 additions and 91 deletions

View File

@@ -1,3 +1,5 @@
using Syntriax.Engine.Core;
namespace Syntriax.Engine.StateMachine;
public class State : IState
@@ -35,12 +37,12 @@ public class State : IState
public void Update()
{
if (GetNextState() is IState transitionState)
OnStateTransitionReady?.Invoke(this, transitionState);
OnStateUpdate?.Invoke(this);
OnStateTransitionReady?.InvokeSafe(this, transitionState);
OnStateUpdate?.InvokeSafe(this);
}
public void TransitionTo(IState from) => OnStateTransitionedTo?.Invoke(this, from);
public void TransitionFrom(IState to) => OnStateTransitionedFrom?.Invoke(this, to);
public void TransitionTo(IState from) => OnStateTransitionedTo?.InvokeSafe(this, from);
public void TransitionFrom(IState to) => OnStateTransitionedFrom?.InvokeSafe(this, to);
public IState? GetNextState()
{