// Add Platforms here that exclude Quit Menu option using System.Collections.Generic; using System.Text.RegularExpressions; using Unity.MegaCity.Audio; using UnityEngine; using Unity.MegaCity.CameraManagement; using Unity.MegaCity.Gameplay; using UnityEngine.SceneManagement; using UnityEngine.UIElements; using UnityEngine.UIElements.Experimental; using Random = UnityEngine.Random; namespace Unity.MegaCity.UI { public enum MultiplayerMode { Matchmaker = 0, Connect = 1 } /// /// Manages the UI for the main menu. /// This sets the audio settings for the city. /// Defines if the player should be manual or automatic. /// Allows the execution to exiting by pressing Escape /// Has access to the UI game settings /// public class MainMenu : MonoBehaviour { public HybridCameraManager m_HybridCameraManager; [SerializeField] private AudioMaster m_AudioMaster; [SerializeField] private UIGameSettings m_GameSettings; [SerializeField] private GameObject m_LobbyPanel; [SerializeField] private GameObject m_IPConnectorPanel; [field: SerializeField] public MultiplayerMode SelectedMultiplayerMode { get; private set; } = MultiplayerMode.Matchmaker; public AudioMaster AudioMaster => m_AudioMaster; private int m_CurrentMenuItem; private int m_PrevMenuItem; private Button m_PlayerControllerButton; private Button m_IPConnectorControllerButton; private Button m_QuitButton; private Button m_GameSettingsButton; private VisualElement m_VisualMenu; private VisualElement m_OverlayMenu; private VisualElement m_MainMenuContainer; private List