using TMPro; using UnityEngine; using UnityEngine.UI; public class PvAIModePopup : PopupBase { [Header("Buttons")] [SerializeField] private Button twoPlayerBtn; [SerializeField] private Button threePlayerBtn; [SerializeField] private Button fourPlayerBtn; [SerializeField] private Button playBtn; [SerializeField] private Button closeBtn; [Header("Input Field")] [SerializeField] private TMP_InputField playerNameInput; [Header("Player Names")] private string playerName; private ScreenManager screenManager; private SoundManager soundManager; private int selectedPlayerCount; public int SelectedPlayerCount => selectedPlayerCount; private void OnEnable() { twoPlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(2)); threePlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(3)); fourPlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(4)); playBtn.onClick.AddListener(OnClick_playBtn); closeBtn.onClick.AddListener(OnClick_closeBtn); } private void OnDisable() { twoPlayerBtn.onClick.RemoveAllListeners(); threePlayerBtn.onClick.RemoveAllListeners(); fourPlayerBtn.onClick.RemoveAllListeners(); playBtn.onClick.RemoveAllListeners(); closeBtn.onClick.RemoveAllListeners(); } private void OnPlayerCountSelected(int count) { selectedPlayerCount = count; } private void OnClick_playBtn() { playerName = playerNameInput.text; soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : soundManager; soundManager?.PlayGameSoundClip(SoundType.ButtonClick); //TODO: Start PvAI Game with the selected player count and name Debug.Log($"Starting PVP Mode with {selectedPlayerCount} players:"); Debug.Log($"Player 1: {playerName}"); } private void OnClick_closeBtn() { screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : screenManager; screenManager.ShowScreen(ScreenType.MenuHUDScreen); soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : soundManager; soundManager?.PlayGameSoundClip(SoundType.ButtonClick); Hide(); } }