using System; using System.Threading.Tasks; using Mistox; using Mistox.Client; class clientExample { public MistoxClient? clientObject; void onServerConnected() { Console.WriteLine("Connected to server sucessfully"); } void onClientConnected(mUDPClient user) { Console.WriteLine("User connected to server with username: " + user.UserName); } void onClientJoined(mUDPClient user) { Console.WriteLine("User is now in range of you and UDP connections started with user : " + user.UserName); } void onReceive(mUDPClient? user, dynamic data) { switch (data){ case MessagePacket packet: if (user == null) { Console.WriteLine($"MSG From [Serverx]: {packet.Data}"); } else { Console.WriteLine($"MSG From [{user.UserName}]: {packet.Data}"); } break; default: break; } } void onClientLeft(mUDPClient user) { Console.WriteLine("User is no longer in range of you and UDP connections ended with user : " + user.UserName); } void onClientDisconnected(mUDPClient user) { Console.WriteLine("User disconnected from server with username: " + user.UserName); } void onServerDisconnected() { Console.WriteLine("Disconnected from server"); } public async Task StartClient(string userName, string host, int port, string password) { clientObject = GameServer.newClient(userName, host, port, password); if (clientObject == null) return; clientObject.onServerConnected += onServerConnected; clientObject.onUserConnected += onClientConnected; clientObject.onUserJoined += onClientJoined; clientObject.onDataReceived += onReceive; clientObject.onUserLeft += onClientLeft; clientObject.onUserDisconnected += onClientDisconnected; clientObject.onServerDisconnected += onServerDisconnected; } }