Couple More menu Items
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
public class MainMenuController : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private string startSceneName = "Level1";
|
||||
[SerializeField] private List<string> buttonNames = new List<string> { "Start", "Experiment", "Level2" };
|
||||
[SerializeField] private List<string> sceneNames = new List<string> { "Level1", "Experiment", "Level2" };
|
||||
private UIDocument uiDocument;
|
||||
private Button startButton;
|
||||
private List<Button> buttons;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
@@ -22,29 +24,40 @@ public class MainMenuController : MonoBehaviour
|
||||
return;
|
||||
}
|
||||
|
||||
startButton = root.Q<Button>("Start");
|
||||
if (startButton == null)
|
||||
buttons = new List<Button> { new Button(), new Button(), new Button() };
|
||||
for (int i = 0; i < buttons.Count; i++)
|
||||
{
|
||||
return;
|
||||
}
|
||||
int buttonIndex = i;
|
||||
|
||||
startButton.clicked += HandleStartClicked;
|
||||
buttons[i] = root.Q<Button>(buttonNames[i]);
|
||||
|
||||
if (buttons[i] == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
buttons[i].clicked += () => HandleStartClicked(sceneNames[buttonIndex]);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
if (startButton != null)
|
||||
for (int i = 0; i < buttons.Count; i++)
|
||||
{
|
||||
startButton.clicked -= HandleStartClicked;
|
||||
startButton = null;
|
||||
if (buttons[i] == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
buttons[i].clicked -= () => HandleStartClicked(buttonNames[i]);
|
||||
}
|
||||
}
|
||||
|
||||
private void HandleStartClicked()
|
||||
private void HandleStartClicked(string sceneName)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(startSceneName))
|
||||
if (!string.IsNullOrWhiteSpace(sceneName))
|
||||
{
|
||||
SceneManager.LoadScene(startSceneName);
|
||||
SceneManager.LoadScene(sceneName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user