37 lines
1.0 KiB
C#
37 lines
1.0 KiB
C#
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";
|
|
}
|
|
}
|
|
} |