Exemple #1
0
    public void RegisterPlayer(PlayerStateManager player)
    {
        Player playerComponent = player.GetComponent <Player>();

        player.OnStateChange += (oldState, newState) =>
        {
            onAnyPlayerEnterStateSubscribers_early[newState](playerComponent);
            onAnyPlayerExitStateSubscribers_early[oldState](playerComponent);
            onAnyPlayerEnterStateSubscribers[newState](playerComponent);
            onAnyPlayerExitStateSubscribers[oldState](playerComponent);
        };
    }
Exemple #2
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));
        }
    }