Fix all of the nullable issues

This commit is contained in:
derek.holloway committed 2026-08-07 13:00:04 -07:00
1 parent 9d97ad0975
commit 30feb15821
13 files changed
+58 -53

No files matched your search

+14 -4
View File
@@ -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 );
}
}
+5 -4
View File
@@ -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) {
+8 -6
View File
@@ -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 ) {