using UnityEngine;
using UnityEngine.Events;
///
/// Обрабатывает триггерную зону тайла и вызывает эвент
///
public class TriggerZoneScript : MonoBehaviour
{
///
/// делегат и эвент, который собирает подписи
///
public UnityEvent TriggerZoneEvent = new UnityEvent();
///
/// флаг реакции тригера
///
private bool _wasTrigged = false;
public bool WasTrigged
{
get => _wasTrigged;
set => _wasTrigged = value;
}
///
/// Реакция тригерной зоны на вхождение игрока
///
/// объект тригера
private void OnTriggerEnter(Collider other)
{
// если тег игрока и первая реакция
if (other.gameObject.CompareTag("Player") && !WasTrigged)
{
// Debug.Log("Was trigged");
// изменение, что тригер сработал
WasTrigged = !WasTrigged;
// вызов всех подписей
TriggerZoneEvent.Invoke();
}
}
}