Files
modular-vr/Assets/Escape Room Engine/Engine/Scripts/EngineTheme.cs
2022-11-20 08:33:27 +01:00

55 lines
1.4 KiB
C#

using System.Collections.Generic;
using Escape_Room_Engine.Engine.Scripts.Modules;
using NaughtyAttributes;
using UnityEngine;
namespace Escape_Room_Engine.Engine.Scripts
{
[CreateAssetMenu(menuName = "Engine Theme")]
public class EngineTheme : 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 Theme
[BoxGroup("Theme")] [Required]
public SpaceTile spaceTile;
[BoxGroup("Theme")]
public GameObject environment;
[BoxGroup("Theme")]
[ColorUsage(false, true)]
public Color puzzleColor, solvedColor, activeColor;
#endregion
#region Doors
[BoxGroup("Doors")] [Required]
public DoorModuleDescription spawnDoor;
[BoxGroup("Doors")] [ValidateInput("IsNotEmpty", "At least one exit door type is required")]
public List<DoorModuleDescription> exitDoorTypes;
#endregion
#region Puzzles
[BoxGroup("Puzzles")] [MinMaxSlider(0, 10)]
public Vector2Int puzzleCount;
[BoxGroup("Puzzles")]
public List<PuzzleModuleDescription> puzzleTypes;
#endregion
}
}