117 lines
2.7 KiB
C#
117 lines
2.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using Mirror;
|
|
using UnityEngine.UI;
|
|
using TMPro;
|
|
|
|
public class NetworkManagerUI : MonoBehaviour
|
|
{
|
|
public NetworkManager manager;
|
|
public GameObject adressInputGO;
|
|
public TMP_InputField adressInput;
|
|
public TMP_InputField nicknameInput;
|
|
public TMP_InputField MaxPlayersInput;
|
|
|
|
public GameObject menu;
|
|
public GameObject playMenu;
|
|
public GameObject settingsMenu;
|
|
public GameObject loadingScreen;
|
|
|
|
private bool _startButtonsState = true;
|
|
private bool _settingsButtonState = true;
|
|
|
|
void Awake()
|
|
{
|
|
nicknameInput.text = PlayerPrefs.GetString("NickName");
|
|
|
|
manager.networkAddress = PlayerPrefs.GetString("Adress");
|
|
adressInput.text = PlayerPrefs.GetString("Adress");
|
|
MaxPlayersInput.text = PlayerPrefs.GetString("MaxPlayers");
|
|
|
|
Cursor.lockState = CursorLockMode.None;
|
|
}
|
|
|
|
#region Start Buttons
|
|
public void StartHost()
|
|
{
|
|
if (!NetworkClient.active)
|
|
{
|
|
manager.StartHost();
|
|
}
|
|
}
|
|
|
|
public void StartClient()
|
|
{
|
|
if (!NetworkClient.active)
|
|
{
|
|
manager.StartClient();
|
|
}
|
|
}
|
|
|
|
public void SetAdress()
|
|
{
|
|
manager.networkAddress = adressInput.text;
|
|
PlayerPrefs.SetString("Adress", adressInput.text);
|
|
}
|
|
|
|
public void SetNickname()
|
|
{
|
|
PlayerPrefs.SetString("NickName", nicknameInput.text);
|
|
}
|
|
public void SetMaxPlayers()
|
|
{
|
|
manager.maxConnections = int.Parse(MaxPlayersInput.text);
|
|
PlayerPrefs.SetString("MaxPlayers", MaxPlayersInput.text);
|
|
}
|
|
|
|
public void changeStartMenuState()
|
|
{
|
|
_startButtonsState = !_startButtonsState;
|
|
|
|
menu.SetActive(_startButtonsState);
|
|
playMenu.SetActive(!_startButtonsState);
|
|
}
|
|
|
|
public void changeSettingsMenuState()
|
|
{
|
|
_settingsButtonState = !_settingsButtonState;
|
|
|
|
menu.SetActive(_settingsButtonState);
|
|
|
|
settingsMenu.SetActive(!_settingsButtonState);
|
|
}
|
|
#endregion
|
|
|
|
#region Stop Buttons
|
|
public void StopClient()
|
|
{
|
|
manager.StopClient();
|
|
}
|
|
public void StopButtons()
|
|
{
|
|
// stop host if host mode
|
|
if (NetworkServer.active && NetworkClient.isConnected)
|
|
{
|
|
manager.StopHost();
|
|
}
|
|
// stop client if client-only
|
|
else if (NetworkClient.isConnected)
|
|
{
|
|
manager.StopClient();
|
|
}
|
|
// stop server if server-only
|
|
else if (NetworkServer.active)
|
|
{
|
|
manager.StopServer();
|
|
}
|
|
}
|
|
|
|
public void Quit()
|
|
{
|
|
Application.Quit();
|
|
}
|
|
#endregion
|
|
|
|
}
|