Files
Praca-MagisterskaMJK/Assets/Scripts/NeutralSceneScripts/FlagTrigger.cs
student cs.pollub.pl 1a59e07f78 poprawki w lab e
2026-05-16 09:45:27 +02:00

36 lines
1.3 KiB
C#

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);
}
}
}