ProjectZ/Assets/Scripts/Network/NetworkManagerUI.cs

124 lines
2.9 KiB
C#
Raw Normal View History

2024-02-19 21:00:36 +03:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Mirror;
using UnityEngine.UI;
using TMPro;
public class NetworkManagerUI : MonoBehaviour
{
2024-03-17 00:30:59 +03:00
public CustomNetworkManager manager;
2024-02-19 21:00:36 +03:00
public TMP_InputField adressInput;
public TMP_InputField nicknameInput;
2024-03-16 21:11:37 +03:00
public TMP_InputField MaxPlayersInput;
2024-03-17 00:30:59 +03:00
public TMP_InputField MaxMonstersInput;
2024-02-19 21:00:36 +03:00
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");
2024-03-16 21:11:37 +03:00
MaxPlayersInput.text = PlayerPrefs.GetString("MaxPlayers");
2024-03-17 00:30:59 +03:00
MaxMonstersInput.text = PlayerPrefs.GetString("MaxMonsters");
2024-02-19 21:00:36 +03:00
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);
}
2024-03-16 21:11:37 +03:00
public void SetMaxPlayers()
{
manager.maxConnections = int.Parse(MaxPlayersInput.text);
PlayerPrefs.SetString("MaxPlayers", MaxPlayersInput.text);
}
2024-03-17 00:30:59 +03:00
public void SetMaxMonsters()
{
manager.maxMonsters = int.Parse(MaxMonstersInput.text);
PlayerPrefs.SetString("MaxMonsters", MaxMonstersInput.text);
}
2024-02-19 21:00:36 +03:00
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
}