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(out doorBehaviour)) { return; } } } }