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();
}
}
}