Refactor scene management, Enable wasd movement, Add level menu

This commit is contained in:
2024-09-08 22:06:14 +02:00
parent 3357191134
commit d7eb1e65d2
32 changed files with 6964 additions and 2406 deletions

View File

@@ -1,7 +1,5 @@
using HurricaneVR.Framework.Core.Player;
using Sirenix.OdinInspector;
using System.Collections;
using System.Collections.Generic;
using Unity.Netcode;
using UnityEngine;
using UnityEngine.Events;
@@ -10,32 +8,16 @@ using Zenject;
public class SceneManager : NetworkBehaviour
{
#if UNITY_EDITOR
public UnityEditor.SceneAsset LobbyScene;
public UnityEditor.SceneAsset EntranceScene;
public UnityEditor.SceneAsset ForgeScene;
private void OnValidate()
{
lobbySceneName = LobbyScene?.name;
entranceSceneName = EntranceScene?.name;
forgeSceneName = ForgeScene?.name;
}
#endif
[SerializeField]
private Level lobbyLevel;
[SerializeField]
[ReadOnly]
private string lobbySceneName;
private Level entranceLevel;
[SerializeField]
[ReadOnly]
private string entranceSceneName;
private Level forgeLevel;
[SerializeField]
[ReadOnly]
private string forgeSceneName;
public Level[] Levels => new []{ entranceLevel, forgeLevel };
[Inject]
[ReadOnly]
@@ -52,7 +34,7 @@ public class SceneManager : NetworkBehaviour
public Scene LoadedScene => loadedScene;
public bool IsInLobby => loadedScene.name == lobbySceneName;
public bool IsInLobby => loadedScene.name == lobbyLevel.sceneName;
public UnityEvent SceneLoaded;
@@ -145,19 +127,19 @@ public class SceneManager : NetworkBehaviour
[Button]
public void SwitchToLobbyLevel()
{
SwitchToScene(lobbySceneName);
SwitchToScene(lobbyLevel.sceneName);
}
[Button]
public void SwitchToEntranceLevel()
{
SwitchToScene(entranceSceneName);
SwitchToScene(entranceLevel.sceneName);
}
[Button]
public void SwitchToForgeLevel()
{
SwitchToScene(forgeSceneName);
SwitchToScene(forgeLevel.sceneName);
}
private void SwitchToScene(string sceneName)