76 lines
2.7 KiB
C#
76 lines
2.7 KiB
C#
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 GameModeHandler gameModeHandler;
|
|
|
|
private int selectedPlayerCount;
|
|
private PlayerType playerType;
|
|
|
|
private void OnEnable()
|
|
{
|
|
twoPlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(2));
|
|
threePlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(3));
|
|
fourPlayerBtn.onClick.AddListener(() => OnPlayerCountSelected(4));
|
|
playBtn.onClick.AddListener(OnClick_PlayButton);
|
|
closeBtn.onClick.AddListener(OnClick_CloseButton);
|
|
}
|
|
|
|
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_PlayButton()
|
|
{
|
|
playerName = string.IsNullOrWhiteSpace(playerNameInput.text) ? Ludo_3D_Constants.Player1_Name : playerNameInput.text;
|
|
|
|
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : 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}");
|
|
|
|
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
|
|
gameModeHandler.InitBotModeData(playerType, selectedPlayerCount - 1);
|
|
}
|
|
|
|
private void OnClick_CloseButton()
|
|
{
|
|
screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
|
|
screenManager.ShowScreen(ScreenType.MenuScreen);
|
|
|
|
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
|
|
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
|
|
Hide();
|
|
}
|
|
}
|