using UnityEngine;
using UnityEngine.SceneManagement;

public class FlagTrigger : MonoBehaviour
{
    [Header("Ustawienia Przejścia")]
    public string nextSceneName = "ExperimentalScene"; // Nazwa sceny badawczej
    public string nextPhaseName = "Experimental";      // Nazwa folderu/fazy dla menedżera

    // Zabezpieczenie, żeby scena nie próbowała się załadować 5 razy w ułamku sekundy
    private bool _hasTriggered = false;

    // Ta funkcja wywołuje się automatycznie, gdy inny obiekt z Colliderem wejdzie w ten obiekt
    private void OnTriggerEnter(Collider other)
    {
        // Sprawdzamy, czy obiekt, który nas dotknął, ma tag "Player"
        if (other.CompareTag("Player") && !_hasTriggered)
        {
            _hasTriggered = true;
            Debug.Log("[FlagTrigger] Gracz dotknął flagi! Zmieniam fazę i scenę.");

            // 1. Zmieniamy fazę w Menedżerze (tworzy się nowy plik CSV)
            if (ExperimentManager.Instance != null)
            {
                ExperimentManager.Instance.SetPhase(nextPhaseName);
            }
            else
            {
                Debug.LogWarning("[FlagTrigger] Nie znaleziono ExperimentManager!");
            }

            // 2. Ładujemy nową scenę
            SceneManager.LoadScene(nextSceneName);
        }
    }
}