using System.Collections.Generic; using Escape_Room_Engine.Engine.Scripts.Modules; using NaughtyAttributes; using UnityEngine; namespace Escape_Room_Engine.Engine.Scripts { [CreateAssetMenu(menuName = "Engine Config")] public class EngineConfiguration : ScriptableObject { #region Size [BoxGroup("Size")] [Tooltip("The minimum size that should be allowed for rooms.")] public Vector2Int minRoomSize; [BoxGroup("Size")] [Tooltip("The size of the physical play space available to the engine.")] public Vector2Int playSpace; #endregion #region Spaces [BoxGroup("Spaces")] [Required] public SpaceTile spaceTile; #endregion #region Doors [BoxGroup("Doors")] [Required] public DoorModuleDescription spawnDoor; [BoxGroup("Doors")] [ValidateInput("IsNotEmpty", "At least one exit door type is required")] public List exitDoorTypes; #endregion #region Puzzles [BoxGroup("Puzzles")] [MinMaxSlider(0, 10)] public Vector2Int puzzleCount; [BoxGroup("Puzzles")] public List puzzleTypes; #endregion public ModuleDescription genericModule; } }