using UnityEngine; using UnityEngine.SceneManagement; public class FlagTrigger : MonoBehaviour { [Header("Ustawienia Przejścia")] public string nextSceneName = "TESTING"; // 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); } } }