Files
2025-05-29 22:31:40 +03:00

84 lines
2.3 KiB
C#

using UnityEngine;
public class DoorsManager : MonoBehaviour
{
[Header("Manage Doors In Rooms")]
[Header("Loops")]
[SerializeField] private ManageDoorsInRoom[] manageDoorsInLoop;
#region TEST
[Header("HOUSE")]
public ManageDoorsInRoom[] manageDoorsInHouse;
#endregion
[HideInInspector] public bool IsDraggingADoor;
private static DoorsManager _instance;
public static DoorsManager GetInstance() { return _instance; }
void Awake()
{
if (!_instance)
{
_instance = this;
}
}
#region DELETE ME LATER (Testing for passing ManageDoorsInRoom as a parameter)
public bool CanOpenDoorTEST(ManageDoorsInRoom[] manageDoorInRoom, int manageDoorsInRoomID, int doorID)
{
if (manageDoorInRoom[manageDoorsInRoomID].door[doorID].CanOpenDoor)
{
return true;
}
else
{
return false;
}
}
public void OpenDoorTEST(ManageDoorsInRoom[] manageDoorInRoom, int manageDoorsInLoopID, int doorID, float doorLerpSpeed)
{
manageDoorInRoom[manageDoorsInLoopID].door[doorID].OpenDoor(doorLerpSpeed);
}
#endregion
public bool CanOpenDoor(int manageDoorsInLoopID, int doorID)
{
if (manageDoorsInLoop[manageDoorsInLoopID].door[doorID].CanOpenDoor)
{
return true;
}
else
{
return false;
}
}
public void LockDoor(int manageDoorsInLoopID, int doorID)
{
manageDoorsInLoop[manageDoorsInLoopID].door[doorID].LockDoor();
#region Debugging
Debug.Log("Locks door", manageDoorsInLoop[manageDoorsInLoopID].door[doorID]);
#endregion
}
public void UnlockDoor(int manageDoorsInLoopID, int doorID)
{
manageDoorsInLoop[manageDoorsInLoopID].door[doorID].UnlockDoor();
#region Debugging
Debug.Log("Unlocks door", manageDoorsInLoop[manageDoorsInLoopID].door[doorID]);
#endregion
}
public void OpenDoor(int manageDoorsInLoopID, int doorID, float doorLerpSpeed)
{
manageDoorsInLoop[manageDoorsInLoopID].door[doorID].OpenDoor(doorLerpSpeed);
}
public void CloseDoor(int manageDoorsInLoopID, int doorID, float doorLerpSpeed)
{
manageDoorsInLoop[manageDoorsInLoopID].door[doorID].CloseDoor(doorLerpSpeed);
}
}