Dizel c7e0620447 Код закрытых тайлов
Дописал код в менеджер тайлов, который закрывает пройденные зоны от игрока
2024-12-13 16:54:18 +03:00

46 lines
1.3 KiB
C#

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