38 lines
841 B
C#
38 lines
841 B
C#
using InfallibleCode;
|
|
using UnityEngine;
|
|
|
|
[ExecuteInEditMode]
|
|
public class SaveableDoor : MonoBehaviour
|
|
{
|
|
public DoorBehaviour doorBehaviour;
|
|
public string SaveableDoorID;
|
|
public bool IsLockedAfterLoad;
|
|
|
|
public void SetDoorToLocked()
|
|
{
|
|
IsLockedAfterLoad = true;
|
|
}
|
|
|
|
public void SetDoorToUnlocked()
|
|
{
|
|
IsLockedAfterLoad = false;
|
|
}
|
|
|
|
private void OnValidate()
|
|
{
|
|
// Automatically set saveableDoorID based on the GameObject's name in the Editor
|
|
if (string.IsNullOrEmpty(SaveableDoorID))
|
|
{
|
|
SaveableDoorID = gameObject.name + "_" + transform.GetInstanceID();
|
|
}
|
|
|
|
if (doorBehaviour == null)
|
|
{
|
|
if (TryGetComponent<DoorBehaviour>(out doorBehaviour))
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|