Files
HauntedBloodlines/Assets/Scripts/GradualActivator/GradualActivatorController.cs
2025-05-29 22:31:40 +03:00

58 lines
2.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GradualActivatorController : MonoBehaviour
{
[System.Serializable]
public class GradualActivatorEntry
{
public GradualActivator gradualActivator;
public bool activate = true; // Αν true, καλεί GraduallyActivate, αν false, καλεί GraduallyDeactivate
}
[Header("Λίστα με Gradual Activators και αν θες Activate ή Deactivate")]
[SerializeField] private List<GradualActivatorEntry> activators = new List<GradualActivatorEntry>();
[Header("Καθυστέρηση πριν ξεκινήσει κάθε Activator (προαιρετικά)")]
[SerializeField] private float delayBetweenActivators = 0.2f;
public bool DoOnlyOnce;
private bool alreadyTriggered = false;
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player") && !alreadyTriggered)
{
Debug.Log("[GradualActivatorController] Παίκτης μπήκε στο trigger. Ξεκινάω εντολές στα activators.");
StartCoroutine(HandleActivators());
if (DoOnlyOnce)
{
alreadyTriggered = true;
}
}
}
private IEnumerator HandleActivators()
{
foreach (var entry in activators)
{
if (entry.gradualActivator != null)
{
if (entry.activate)
{
Debug.Log($"[GradualActivatorController] Καλώ GraduallyActivate στο {entry.gradualActivator.gameObject.name}");
entry.gradualActivator.GraduallyActivate();
}
else
{
Debug.Log($"[GradualActivatorController] Καλώ GraduallyDeactivate στο {entry.gradualActivator.gameObject.name}");
entry.gradualActivator.GraduallyDeactivate();
}
yield return new WaitForSeconds(delayBetweenActivators);
}
}
}
}