using UnityEngine; namespace Unheimlich.World.Environment { /// /// Placed on the trigger child of an . /// Forwards Player trigger enter / exit events to the parent controller. /// [RequireComponent(typeof(Collider))] public class StaircaseTriggerZone : MonoBehaviour { private const string PlayerTag = "Player"; private InfiniteStaircaseController _controller; private void Awake() { _controller = GetComponentInParent(); if (_controller == null) Debug.LogWarning($"[StaircaseTriggerZone] No InfiniteStaircaseController found in parent of '{name}'.", this); } private void OnTriggerEnter(Collider other) { if (_controller == null) return; if (!other.CompareTag(PlayerTag)) return; _controller.OnPlayerEnteredTrigger(); } private void OnTriggerExit(Collider other) { if (_controller == null) return; if (!other.CompareTag(PlayerTag)) return; _controller.OnPlayerExitedTrigger(); } } }