Files
spacerace/Assets/Src/UI/MenuUi.cs
T
2023-07-30 20:25:20 +10:00

50 lines
1.2 KiB
C#

using UnityEngine;
using UnityEngine.UIElements;
using UnityEngine.SceneManagement;
using System.IO;
public class MenuUi : MonoBehaviour {
UIDocument uiDocument;
VisualElement tracks;
Button exit;
void OnEnable() {
uiDocument = GetComponent<UIDocument>();
}
public void AddTracks() {
SetupExit();
tracks = uiDocument.rootVisualElement.Q<VisualElement>("tracks");
tracks.Clear();
for (int i = 0; i < SceneManager.sceneCountInBuildSettings; ++i) {
int j = i; // top kek
Scene scene = SceneManager.GetSceneByBuildIndex(i);
string scenePath = SceneUtility.GetScenePathByBuildIndex(i);
string sceneName = Path.GetFileNameWithoutExtension(scenePath);
Button button = new Button { text = sceneName };
button.clicked += () => LoadScene(j);
tracks.Add(button);
}
}
void LoadScene(int i) {
Debug.Log($"Loading scene {i}");
SceneManager.LoadScene(i);
}
void SetupExit() {
exit = uiDocument.rootVisualElement.Q<Button>("exit");
exit.clicked += Exit;
}
void Exit() {
Debug.Log("Quitting");
Application.Quit();
}
}