using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; namespace Beyond { public class LoadLevelTrigger : MonoBehaviour { // Nowa, preferowana zmienna: nazwa sceny do załadowania [Tooltip("Wpisz nazwę sceny, która ma zostać załadowana. Ma priorytet nad indeksem.")] public string levelToLoadByName; // Stara zmienna, teraz jako opcja zapasowa [Tooltip("Wpisz numer (indeks) sceny z Build Settings. Używane, jeśli nazwa sceny jest pusta.")] public int levelToLoadByIndex = 1; // Nie musisz tego ustawiać w inspektorze, Start() zrobi to za Ciebie private int m_playerLayer; void Start() { m_playerLayer = LayerMask.NameToLayer("Player"); } private void OnTriggerEnter(Collider other) { // Sprawdzamy, czy obiekt, który wszedł w trigger, jest na warstwie gracza if (other.gameObject.layer == m_playerLayer) { // Sprawdzamy, czy nazwa sceny została podana w Inspektorze if (!string.IsNullOrEmpty(levelToLoadByName)) { // Jeśli tak, ładujemy scenę po nazwie Debug.Log($"Ładowanie sceny o nazwie: {levelToLoadByName}"); SceneManager.LoadScene(levelToLoadByName); } else { // Jeśli nie, używamy numeru (indeksu) jako alternatywy Debug.Log($"Ładowanie sceny o indeksie: {levelToLoadByIndex}"); SceneManager.LoadScene(levelToLoadByIndex); } } } } }