private void ConfigureStateEvents(PreloadMachineState state) { _machine.Configure(state) .OnEntry(() => InvokeStateEntered(state)) .OnExit(() => InvokeStateExit(state)) .OnActivate(() => InvokeWithText(state, "Activate")) .OnDeactivate(() => InvokeWithText(state, "Deactivate")); }
private void InvokeStateEntered(PreloadMachineState state) { Debug.Log("[StateEnter] " + state); if (_statesMap.ContainsKey(state)) { _statesMap[state].OnStateEntered(); } }
private void ConfigureState(PreloadMachineState state, IStateMachineClient client) { ConfigureStateEvents(state); _statesMap.Add(state, client); }
private void InvokeWithText(PreloadMachineState state, String text) { Debug.Log($"[State{text}] {state}"); }