using Assets.Scripts; using UnityEngine; public class DoorInteract : MonoBehaviour { [SerializeField] private GameObject _doorGameObject; [SerializeField] private bool _debugMode = false; private IDoor _door; private bool _hasTriggered = false; private void Awake() { _door = _doorGameObject.GetComponent(); } private void OnTriggerEnter2D(Collider2D collider) { if (_hasTriggered) return; var playerState = collider.GetComponent(); if (playerState != null) { // Check if player has key through GameManager if (GameManager.Instance != null && GameManager.Instance.HasKey) { _hasTriggered = true; if (_debugMode) Debug.Log("[DoorInteract] Player exiting with key!"); // Notify LevelManager that level is complete if (LevelManager.Instance != null) { LevelManager.Instance.NotifyLevelComplete(); } } else if (_debugMode) { Debug.Log("[DoorInteract] Player reached door but does not have key!"); } } } }