36 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|
|
} |