Пример #1
0
    public void RegisterPlayer(PlayerStateManager player)
    {
        Player playerComponent = player.GetComponent <Player>();

        foreach (State state in (State[])System.Enum.GetValues(typeof(State)))
        {
            player.CallOnStateEnter(
                state, () => onAnyPlayerStartSubscribers[state](playerComponent));
            player.CallOnStateExit(
                state, () => onAnyPlayerEndSubscribers[state](playerComponent));
            player.CallOnAnyStateChange(
                (State start, State end) => onAnyChangeSubscribers(playerComponent, start, end));
        }
    }