Untitled
unknown
plain_text
2 years ago
2.1 kB
10
Indexable
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();
}
}
Editor is loading...