Fix all of the nullable issues
This commit is contained in:
1 parent
9d97ad0975
commit
30feb15821
13 files changed
+58
-53
No files matched your search
@@ -20,7 +20,7 @@ namespace Mistox.Client {
|
||||
public Vector3 Position { get; set; } = new Vector3(0, 0, 0); // My world position
|
||||
public float MaxNetworkRenderDistance { get; private set; } = 0; // The distance for connections
|
||||
|
||||
public mTCPClient ServerConnection {get; private set; } // Global TCP Server Connection
|
||||
public mTCPClient? ServerConnection {get; private set; } // Global TCP Server Connection
|
||||
public UdpClient ClientSocket { get; private set; } // Global UDP Sender
|
||||
public UDPReceiver UdpReceiver { get; private set; } // Global UDP Receiver
|
||||
|
||||
@@ -36,6 +36,14 @@ namespace Mistox.Client {
|
||||
UserName = userName;
|
||||
ConnectionKey = connectionKey;
|
||||
|
||||
onServerConnected += () => {};
|
||||
onUserConnected += (_) => {};
|
||||
onUserJoined += (_) => {};
|
||||
onDataReceived += (_,_) => {};
|
||||
onUserLeft += (_) => {};
|
||||
onUserDisconnected += (_) => {};
|
||||
onServerDisconnected += () => {};
|
||||
|
||||
// Create and connect to server on TCP
|
||||
Console.WriteLine( "The client is initilized and trying to connect to the server at ip : " + Server.Address );
|
||||
try {
|
||||
@@ -116,6 +124,7 @@ namespace Mistox.Client {
|
||||
|
||||
async Task TryAuth() {
|
||||
Console.WriteLine("Attempting to authenticate against the server...");
|
||||
if (ServerConnection == null) return;
|
||||
await ServerConnection.Send(new UserAuthPacket {
|
||||
UserName = UserName,
|
||||
ConnectionKey = ConnectionKey
|
||||
@@ -158,8 +167,8 @@ namespace Mistox.Client {
|
||||
}
|
||||
|
||||
// When generic data is received
|
||||
public event Action<dynamic> onDataReceived;
|
||||
public void InvokeOnReceived(dynamic DataPacket, mUDPClient remote = null){
|
||||
public event Action<mUDPClient?, dynamic> onDataReceived;
|
||||
public void InvokeOnReceived(dynamic DataPacket, mUDPClient? remote = null){
|
||||
switch (DataPacket as object) {
|
||||
case HeartbeatPacket packet:
|
||||
HeartbeatReceived(packet);
|
||||
@@ -173,7 +182,7 @@ namespace Mistox.Client {
|
||||
Console.WriteLine("Received a null packet.");
|
||||
break;
|
||||
default:
|
||||
onDataReceived?.Invoke(DataPacket);
|
||||
onDataReceived?.Invoke(remote, DataPacket);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -219,6 +228,7 @@ namespace Mistox.Client {
|
||||
}
|
||||
|
||||
public async Task SendServer<Packet>(Packet data) {
|
||||
if (ServerConnection == null) return;
|
||||
await ServerConnection.Send( data );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,10 +48,11 @@ namespace Mistox.Client {
|
||||
await ns.ReadExactlyAsync(payloadBuffer, 0, Header.DataLength);
|
||||
|
||||
// Create the dataobject
|
||||
dynamic dataobject = DataPacket.Deserialize( Header, payloadBuffer.AsMemory(DataPacket.HeaderLength, Header.DataLength) );
|
||||
|
||||
// Return the object
|
||||
_parent.InvokeOnReceived(dataobject);
|
||||
object? dataobject = DataPacket.Deserialize( Header, payloadBuffer.AsMemory(DataPacket.HeaderLength, Header.DataLength) );
|
||||
if (dataobject != null) {
|
||||
// Return the object
|
||||
_parent.InvokeOnReceived(dataobject);
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -21,9 +21,9 @@ namespace Mistox.Client {
|
||||
UdpReceiveResult udpPacket = await _parent.ClientSocket.ReceiveAsync();
|
||||
|
||||
// Try find the user
|
||||
mUDPClient client = null;
|
||||
bool clientExists = _parent.clientConnections.TryGetValue(udpPacket.RemoteEndPoint, out client);
|
||||
if (clientExists) {
|
||||
mUDPClient? client = null;
|
||||
_parent.clientConnections.TryGetValue(udpPacket.RemoteEndPoint, out client);
|
||||
if (client != null) {
|
||||
|
||||
// Create the data readers
|
||||
ReadOnlyMemory<byte> dataMemory = udpPacket.Buffer.AsMemory();
|
||||
@@ -39,10 +39,12 @@ namespace Mistox.Client {
|
||||
ReadOnlyMemory<byte> data = dataMemory.Slice(DataPacket.HeaderLength, Header.DataLength);
|
||||
|
||||
// Extract the object
|
||||
dynamic buildObj = DataPacket.Deserialize( Header, data );
|
||||
object? buildObj = DataPacket.Deserialize( Header, data );
|
||||
if (buildObj != null) {
|
||||
|
||||
// Return the object
|
||||
_parent.InvokeOnReceived( buildObj, client );
|
||||
// Return the object
|
||||
_parent.InvokeOnReceived( buildObj, client );
|
||||
}
|
||||
|
||||
}
|
||||
} catch( Exception e ) {
|
||||
|
||||
Reference in new issue
Block a user