using UnityEngine; [RequireComponent(typeof(Collider))] public class EventTriggerOnCollision : MonoBehaviour { [Tooltip("Тег объекта, который должен активировать триггер.")] [SerializeField] private string _targetTag; [Tooltip("Событие, которое будет вызвано при входе в триггер.")] [SerializeField] private GameEvent _eventToRaise; [Tooltip("Если true, событие будет срабатывать только один раз.")] [SerializeField] private bool _triggerOnce = true; private bool _hasBeenTriggered = false; private void OnTriggerEnter(Collider other) { if (_hasBeenTriggered && _triggerOnce) { return; } if (other.CompareTag(_targetTag)) { _eventToRaise.Raise(); _hasBeenTriggered = true; } } private void OnValidate() { // Убедимся, что коллайдер на объекте является триггером GetComponent().isTrigger = true; } }