using System;

namespace Yumon.Template.Lite.Internal
{
    /// <summary>
    ///     A state for the <see cref="GameState" /> class.
    ///     Basic implementation for a state machine, in the full version of this template, this is a scriptable object.
    /// </summary>
    internal class State
    {
        public readonly StateEnum stateEnum;
        public Action onEnter;
        public Action onExit;
        public State(StateEnum stateEnum)
        {
            this.stateEnum = stateEnum;
        }

        public void AddOnEnter(Action action) => onEnter += action;
    }

    internal enum StateEnum { Home, Gameplay, EndGame }
}
