49 lines
2.0 KiB
C#
Executable File
49 lines
2.0 KiB
C#
Executable File
using RebootKit.Engine.Main;
|
|
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
|
|
namespace RebootReality.jelycho.MainMenu {
|
|
public class MainMenuController : MonoBehaviour {
|
|
const string k_ButtonHost = "rr-menu__main-btn-host";
|
|
const string k_ButtonJoinLocalHost = "rr-menu__main-btn-join-localhost";
|
|
const string k_ButtonSettings = "rr-menu__main-btn-settings";
|
|
const string k_ButtonQuit = "rr-menu__main-btn-quit";
|
|
|
|
const string k_PanelMain = "rr-menu__panel-main";
|
|
const string k_PanelSettings = "rr-menu__panel-settings";
|
|
|
|
[SerializeField] UIDocument m_Document;
|
|
|
|
void OnEnable() {
|
|
VisualElement root = m_Document.rootVisualElement;
|
|
|
|
Button hostButton = root.Q<Button>(k_ButtonHost);
|
|
Button joinLocalhostButton = root.Q<Button>(k_ButtonJoinLocalHost);
|
|
Button settingsButton = root.Q<Button>(k_ButtonSettings);
|
|
Button quitButton = root.Q<Button>(k_ButtonQuit);
|
|
|
|
hostButton.RegisterCallback<ClickEvent>(e => {
|
|
RR.StartHost();
|
|
RR.SetServerWorld("dev");
|
|
});
|
|
joinLocalhostButton.RegisterCallback<ClickEvent>(e => {
|
|
RR.Connect();
|
|
});
|
|
|
|
settingsButton.RegisterCallback<ClickEvent>(e => OpenSettings());
|
|
quitButton.RegisterCallback<ClickEvent>(e => Application.Quit());
|
|
|
|
OpenMain();
|
|
}
|
|
|
|
void OpenMain() {
|
|
m_Document.rootVisualElement.Q<VisualElement>(k_PanelMain).style.display = DisplayStyle.Flex;
|
|
m_Document.rootVisualElement.Q<VisualElement>(k_PanelSettings).style.display = DisplayStyle.None;
|
|
}
|
|
|
|
void OpenSettings() {
|
|
m_Document.rootVisualElement.Q<VisualElement>(k_PanelMain).style.display = DisplayStyle.None;
|
|
m_Document.rootVisualElement.Q<VisualElement>(k_PanelSettings).style.display = DisplayStyle.Flex;
|
|
}
|
|
}
|
|
} |