Untitled
unknown
plain_text
a year ago
2.1 kB
3
Indexable
Never
using System; using System.Collections; using System.Collections.Generic; using System.Numerics; using Riptide; using Riptide.Utils; using UnityEngine; public enum ClientToServerId : ushort { name = 1, } public class NetworkManager : MonoBehaviour { private static NetworkManager _singleton; public static NetworkManager Singleton { get => _singleton; private set { if (_singleton == null) _singleton = value; else if (_singleton != value) { Debug.Log($"{nameof(NetworkManager)} instance already exists, destroying duplicate!"); Destroy(value); } } } public Client Client { get; private set; } [SerializeField] private string ip; [SerializeField] private ushort port; private void Awake() { Singleton = this; } private void Start() { RiptideLogger.Initialize(Debug.Log, Debug.Log, Debug.LogWarning, Debug.LogError, false); Client = new Client(); Client.Connect($"{ip}:{port}"); Client.Connected += DidConnect; Client.ConnectionFailed += FailedToConnect; // Client.ClientDisconnected += PlayerLeft; Client.Disconnected += DidDisconnect; } private void FixedUpdate() { Client.Update(); } private void OnApplicationQuit() { Client.Disconnect(); } public void Connect() { Client.Connect($"{ip}:{port}"); } private void DidConnect(object sender, EventArgs e) { UIManager.Singleton.SendName(); } private void FailedToConnect(object sender, EventArgs e) { UIManager.Singleton.BackToMain(); } /* private void PlayerLeft(object sender, ClientDisconnectedEventArgs e) { Destroy(Player.list[e.Id].gameObject); }*/ private void DidDisconnect(object sender, EventArgs e) { UIManager.Singleton.BackToMain(); } }