Files
Praca-MagisterskaMJK/Assets/Scripts/NeutralSceneScripts/FlagTrigger.cs
2026-05-03 14:18:17 +02:00

36 lines
1.3 KiB
C#

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