using UnityEngine; public class RoomClearGateController : MonoBehaviour { [Header("¹æ Ŭ¸®¾î ÈÄ ¿­¸± °ÔÀÌÆ®")] [SerializeField] private RoomExitGate exitGate; private bool isRoomCleared = false; private bool gateOpened = false; public bool IsRoomCleared => isRoomCleared; // ºí·¢Àè ÃÖÁ¾ ½Â¸® ÈÄ È£Ãâ // ÀÌ ÇÔ¼ö´Â °ÔÀÌÆ®¸¦ ¹Ù·Î ¿­Áö ¾Ê°í, "¹æ Ŭ¸®¾î ¿Ï·á" »óŸ¸ ÀúÀåÇÔ public void MarkRoomCleared() { isRoomCleared = true; Debug.Log("¹æ Ŭ¸®¾î ¿Ï·á. ÀÌÁ¦ ¿ÀÇÂÁ¸¿¡ µé¾î°¡¸é °ÔÀÌÆ®°¡ ¿­¸³´Ï´Ù."); } // ¿ÀÇÂÁ¸¿¡ µé¾î°¬À» ¶§ È£Ãâ public void OpenClearGate() { if (!isRoomCleared) { Debug.Log("¾ÆÁ÷ ¹æ Ŭ¸®¾î ÀüÀ̶ó °ÔÀÌÆ®¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù."); return; } if (gateOpened) { return; } gateOpened = true; if (exitGate != null) { exitGate.OpenGate(); Debug.Log("¹æ Ŭ¸®¾î °ÔÀÌÆ® ¿ÀÇÂ"); } else { Debug.LogWarning("Exit Gate°¡ ¿¬°áµÇÁö ¾Ê¾Ò½À´Ï´Ù."); } } public void ResetClearState() { isRoomCleared = false; gateOpened = false; } }