using UnityEngine;

namespace EscapeRoomEngine.Engine.Runtime.Modules
{
    /// <summary>
    /// An abstract module state. Example implementations are <see cref="DoorState"/> and <see cref="PuzzleState"/>.
    /// </summary>
    public abstract class ModuleState : MonoBehaviour
    {
        [Tooltip("The size of this module in meters.")]
        public Vector2Int size = Vector2Int.one;
        
        public abstract void SetModule(Module module);

        public override string ToString()
        {
            return name;
        }
    }
}