Initialer Upload neues Unity-Projekt

This commit is contained in:
Daniel Ocks
2025-07-21 09:11:14 +02:00
commit eeca72985b
14558 changed files with 1508140 additions and 0 deletions

View File

@ -0,0 +1,69 @@
using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;
public class SceneManagerScript : MonoBehaviour
{
// Liste der Szenennamen
private string[] scenes = { "Scene1-passiv", "Scene2-activ", "Scene3-interactiv" };
private int currentSceneIndex = 0;
void Start()
{
// Finde den aktuellen Szenenindex basierend auf der aktiven Szene
currentSceneIndex = System.Array.IndexOf(scenes, SceneManager.GetActiveScene().name);
}
void Update()
{
// <20>berpr<70>fe, ob die Taste "K" oder die rechte Maustaste gedr<64>ckt wurde
if (Input.GetKeyDown(KeyCode.K) || Input.GetMouseButtonDown(1))
{
// <20>berpr<70>fe, ob die aktuelle Szene die letzte Szene ist
if (currentSceneIndex == scenes.Length - 1)
{
// Beende das Spiel
QuitGame();
}
else
{
// Lade die n<>chste Szene
StartCoroutine(LoadNextScene());
}
}
}
IEnumerator LoadNextScene()
{
// Erh<72>he den Index und lade die n<>chste Szene
currentSceneIndex = (currentSceneIndex + 1) % scenes.Length;
SceneManager.LoadScene(scenes[currentSceneIndex]);
// Warte einen Frame, um sicherzustellen, dass die Szene vollst<73>ndig geladen ist
yield return null;
// F<>ge eine Verz<72>gerung von 1 Sekunde hinzu, um sicherzustellen, dass alle Komponenten initialisiert sind
yield return new WaitForSeconds(1f);
// Initialisiere die Szene
InitializeScene();
}
void InitializeScene()
{
// F<>ge hier Logik hinzu, um den Avatar oder andere Komponenten zu initialisieren
Debug.Log("Szene initialisiert");
// Beispiel: GameObject avatar = GameObject.Find("Avatar");
// if (avatar != null) avatar.GetComponent<AvatarScript>().Initialize();
}
void QuitGame()
{
// <20>berpr<70>fe, ob das Spiel im Editor l<>uft
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
}
}