diff --git a/.attach_pid20103 b/.attach_pid20103 new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 0a04102..aa40218 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -214,7 +214,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_PanelSettings: {fileID: 11400000, guid: 2ed681da194cc15f383dd20d59d1226f, type: 2} m_ParentUI: {fileID: 0} - sourceAsset: {fileID: 9197481963319205126, guid: 8c18fadf28797192cb95360376cdf508, type: 3} + sourceAsset: {fileID: 9197481963319205126, guid: 59c75f243b2251b6aa02eec69db9c6ed, type: 3} m_SortingOrder: 0 --- !u!114 &558072413 MonoBehaviour: @@ -228,6 +228,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8563a49d0f8f416b8de4ccb2d65a40f8, type: 3} m_Name: m_EditorClassIdentifier: + roomUI: {fileID: 0} --- !u!1 &2137504927 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Menu/MenuUI.cs b/Assets/Scripts/Menu/MainMenuUI.cs similarity index 70% rename from Assets/Scripts/Menu/MenuUI.cs rename to Assets/Scripts/Menu/MainMenuUI.cs index 1392299..729ade8 100644 --- a/Assets/Scripts/Menu/MenuUI.cs +++ b/Assets/Scripts/Menu/MainMenuUI.cs @@ -1,22 +1,24 @@ -using Game; using Global; -using UnityEngine; -using UnityEngine.SceneManagement; using UnityEngine.UIElements; namespace Menu { - public class MenuUI : MonoBehaviour { - + public class MainMenuUI { + private VisualElement mainMenu, playMenu, settingsMenu; + public VisualElement Root { get; set; } + + public void Show() { + Root.style.display = DisplayStyle.Flex; + } - private VisualElement root; - - private void OnEnable() { - root = GetComponent().rootVisualElement; - - mainMenu = root.Q("main_menu"); - playMenu = root.Q("play_menu"); - settingsMenu = root.Q("settings_menu"); + private void Hide() { + Root.style.display = DisplayStyle.None; + } + + public void ResetAndShow() { + mainMenu = Root.Q("main_menu"); + playMenu = Root.Q("play_menu"); + settingsMenu = Root.Q("settings_menu"); mainMenu.Q("btn_play").RegisterCallback(PlayPressed); mainMenu.Q("btn_settings").RegisterCallback(SettingsPressed); @@ -26,8 +28,14 @@ namespace Menu { playMenu.Q("btn_join").RegisterCallback(JoinPressed); playMenu.Q("btn_bot").RegisterCallback(BotPressed); playMenu.Q("btn_bots").RegisterCallback(BotsPressed); + + mainMenu.style.display = DisplayStyle.Flex; + playMenu.style.display = DisplayStyle.None; + settingsMenu.style.display = DisplayStyle.None; + + Show(); } - + private void PlayPressed(ClickEvent evt) { mainMenu.style.display = DisplayStyle.None; playMenu.style.display = DisplayStyle.Flex; @@ -51,16 +59,19 @@ namespace Menu { private void BotPressed(ClickEvent evt) { RoomSettings.Type = Type.Hybrid; - RoomSettings.AIDifficulty = Difficulty.VeryHard; - SceneManager.LoadScene("Game"); + GoToRoom(); } private void BotsPressed(ClickEvent evt) { RoomSettings.Type = Type.AI; - RoomSettings.AIDifficulty = Difficulty.VeryHard; + + GoToRoom(); + } - SceneManager.LoadScene("Game"); + private void GoToRoom() { + Hide(); + MainUI.Instance.roomUI.Show(); } } } diff --git a/Assets/Scripts/Menu/MainMenuUI.cs.meta b/Assets/Scripts/Menu/MainMenuUI.cs.meta new file mode 100644 index 0000000..1e7aa60 --- /dev/null +++ b/Assets/Scripts/Menu/MainMenuUI.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 06da811c70ca4fd398fc8155d2783017 +timeCreated: 1682506834 \ No newline at end of file diff --git a/Assets/Scripts/Menu/MainUI.cs b/Assets/Scripts/Menu/MainUI.cs new file mode 100644 index 0000000..cc96278 --- /dev/null +++ b/Assets/Scripts/Menu/MainUI.cs @@ -0,0 +1,27 @@ +using Game; +using Global; +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.UIElements; + +namespace Menu { + public class MainUI : MonoBehaviour { + + private VisualElement root; + public RoomUI roomUI; + public MainMenuUI mainMenuUI; + + public static MainUI Instance { get; private set; } + + private void Awake() { + Instance = this; + + root = GetComponent().rootVisualElement; + mainMenuUI = new MainMenuUI{Root = root.Q("MainMenu").contentContainer}; + roomUI = new RoomUI{Root = root.Q("Room")}; + + mainMenuUI.ResetAndShow(); + roomUI.Hide(); + } + } +} diff --git a/Assets/Scripts/Menu/MenuUI.cs.meta b/Assets/Scripts/Menu/MainUI.cs.meta similarity index 100% rename from Assets/Scripts/Menu/MenuUI.cs.meta rename to Assets/Scripts/Menu/MainUI.cs.meta diff --git a/Assets/Scripts/Menu/RoomUI.cs b/Assets/Scripts/Menu/RoomUI.cs index fca5942..e067c89 100644 --- a/Assets/Scripts/Menu/RoomUI.cs +++ b/Assets/Scripts/Menu/RoomUI.cs @@ -1,5 +1,24 @@ +using System; +using UnityEngine; +using UnityEngine.Serialization; +using UnityEngine.UIElements; + namespace Menu { public class RoomUI { - + public VisualElement Root { get; set; } + + public void Show() { + + Root.style.display = DisplayStyle.Flex; + } + + public void Hide() { + Root.style.display = DisplayStyle.None; + } + + private void BackToMainMenu() { + Hide(); + MainUI.Instance.mainMenuUI.ResetAndShow(); + } } } diff --git a/Assets/UI/Main.uxml b/Assets/UI/Main.uxml new file mode 100644 index 0000000..4c32a48 --- /dev/null +++ b/Assets/UI/Main.uxml @@ -0,0 +1,7 @@ + + + +