using System; using UnityEngine; using LogType = Escape_Room_Engine.Engine.Scripts.Utilities.LogType; namespace Escape_Room_Engine.Engine.Scripts.Modules { public enum DoorType { Entrance = ModuleType.DoorEntrance, Exit = ModuleType.DoorExit } [Serializable] public class DoorModule : Module { public bool IsEntrance => IsType((ModuleType)DoorType.Entrance); public bool IsExit => IsType((ModuleType)DoorType.Exit); private bool _unlocked; internal DoorModule(Space space, DoorModuleDescription description) : base(space, description) { srDimensions.Size = Vector2Int.one; // door always has size 1x1 } internal void Unlock() { _unlocked = true; Utilities.Logger.Log($"{this} has been unlocked", LogType.PuzzleFlow); } public override string ToString() { return $"{(IsEntrance ? "Entrance" : IsExit ? "Exit" : "Unknown")} door"; } } }