From 69a67614234d4d023de11c068449a831b9f7fcf1 Mon Sep 17 00:00:00 2001 From: Robert Paciorek Date: Thu, 29 Feb 2024 22:22:35 +0000 Subject: [PATCH] use PlayerData.GetNetworkData in SUV handler --- .../SetUserVariablesHandler.cs | 35 ++----------------- src/Core/Room.cs | 2 +- src/Data/PlayerData.cs | 13 +++---- 3 files changed, 8 insertions(+), 42 deletions(-) diff --git a/src/CommandHandlers/SetUserVariablesHandler.cs b/src/CommandHandlers/SetUserVariablesHandler.cs index 77c6d89..343fd4e 100644 --- a/src/CommandHandlers/SetUserVariablesHandler.cs +++ b/src/CommandHandlers/SetUserVariablesHandler.cs @@ -109,38 +109,7 @@ class SetUserVariablesHandler : ICommandHandler { NetworkObject acknowledgement = new(); data.Add("r", client.Room.Id); - NetworkArray user = new(); - user.Add(client.ClientID); - user.Add(client.PlayerData.Uid); - user.Add((short)1); - user.Add((short)client.ClientID); - - NetworkArray playerData = new(); - playerData.Add(NetworkArray.Param("R1", client.PlayerData.R1)); - playerData.Add(NetworkArray.Param("FP", client.PlayerData.Fp)); - playerData.Add(NetworkArray.Param("MX", client.PlayerData.Mx)); - playerData.Add(NetworkArray.Param("UDT", client.PlayerData.Udt)); - playerData.Add(NetworkArray.Param("P2", client.PlayerData.P2)); - playerData.Add(NetworkArray.Param("NT", (double)Runtime.CurrentRuntime)); - playerData.Add(NetworkArray.Param("t", (int)(Runtime.CurrentRuntime / 1000))); - playerData.Add(NetworkArray.Param("J", client.PlayerData.J)); - playerData.Add(NetworkArray.Param("F", client.PlayerData.F)); - playerData.Add(NetworkArray.Param("MBF", client.PlayerData.Mbf)); - playerData.Add(NetworkArray.Param("R2", client.PlayerData.R2)); - playerData.Add(NetworkArray.Param("R", client.PlayerData.R)); - playerData.Add(NetworkArray.Param("BU", client.PlayerData.Bu)); - playerData.Add(NetworkArray.Param("P1", client.PlayerData.P1)); - playerData.Add(NetworkArray.Param("UID", client.PlayerData.Uid)); - playerData.Add(NetworkArray.Param("R3", client.PlayerData.R3)); - playerData.Add(NetworkArray.Param("PU", client.PlayerData.Pu)); - playerData.Add(NetworkArray.Param("A", client.PlayerData.A)); - playerData.Add(NetworkArray.Param("RA", client.PlayerData.Ra)); - playerData.Add(NetworkArray.Param("P3", client.PlayerData.P3)); - playerData.Add(NetworkArray.Param("CU", client.PlayerData.Cu)); - playerData.Add(NetworkArray.Param("M", client.PlayerData.M)); - playerData.Add(NetworkArray.Param("L", client.PlayerData.L)); - - user.Add(playerData); + NetworkArray user = client.PlayerData.GetNetworkData(client.ClientID, out NetworkArray playerData); data.Add("u", user); acknowledgement.Add("u", client.ClientID); @@ -169,7 +138,7 @@ class SetUserVariablesHandler : ICommandHandler { NetworkPacket packet = NetworkObject.WrapObject(1, 13, cmd).Serialize(); foreach (var roomClient in client.Room.Clients) { - if (roomClient != client.Room.Clients) + if (roomClient != client) roomClient.Send(packet); } } diff --git a/src/Core/Room.cs b/src/Core/Room.cs index f05156c..b864e3d 100644 --- a/src/Core/Room.cs +++ b/src/Core/Room.cs @@ -80,7 +80,7 @@ public class Room { NetworkArray userList = new(); foreach (Client player in Clients) { - userList.Add(player.PlayerData.GetNetworkData(player.ClientID)); + userList.Add(player.PlayerData.GetNetworkData(player.ClientID, out _)); } obj.Add("r", roomInfo); diff --git a/src/Data/PlayerData.cs b/src/Data/PlayerData.cs index ea8e420..3107952 100644 --- a/src/Data/PlayerData.cs +++ b/src/Data/PlayerData.cs @@ -22,10 +22,7 @@ public class PlayerData { // position z public double P3 { get; set; } - // network time - public string Nt { get; set; } = "1.0"; - // timestamp - public int T { get; set; } = 0; + // join (?) public string J { get; set; } = "2"; // flags (?) @@ -99,21 +96,21 @@ public class PlayerData { } private string fp = ""; - public NetworkArray GetNetworkData(int clientID) { + public NetworkArray GetNetworkData(int clientID, out NetworkArray paramArr) { NetworkArray arr = new(); arr.Add(clientID); arr.Add(Uid); arr.Add((short)1); arr.Add((short)clientID); - NetworkArray paramArr = new(); + paramArr = new(); paramArr.Add(NetworkArray.Param("R1", R1)); paramArr.Add(NetworkArray.Param("FP", Fp)); paramArr.Add(NetworkArray.Param("MX", Mx)); paramArr.Add(NetworkArray.Param("UDT", Udt)); paramArr.Add(NetworkArray.Param("P2", P2)); - paramArr.Add(NetworkArray.Param("NT", Nt)); - paramArr.Add(NetworkArray.Param("t", T)); + paramArr.Add(NetworkArray.Param("NT", (double)(Runtime.CurrentRuntime))); // network time + paramArr.Add(NetworkArray.Param("t", (int)(Runtime.CurrentRuntime / 1000))); // timestamp paramArr.Add(NetworkArray.Param("J", J)); paramArr.Add(NetworkArray.Param("F", F)); paramArr.Add(NetworkArray.Param("MBF", Mbf));