Files
GameServer/CLI/ClientExample.cs
T

60 lines
2.0 KiB
C#

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;
}
}