From 20aa92103e8e4c1c49fac38b1cf09cf9974edd5a Mon Sep 17 00:00:00 2001 From: Robert Paciorek Date: Mon, 31 Mar 2025 09:09:23 +0000 Subject: [PATCH] Client.SendSUV for sending SUV update (moved from SetUserVariablesHandler) --- .../SetUserVariablesHandler.cs | 26 ++----------------- src/Core/Client.cs | 24 +++++++++++++++++ 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/CommandHandlers/SetUserVariablesHandler.cs b/src/CommandHandlers/SetUserVariablesHandler.cs index 8458acc..300a556 100644 --- a/src/CommandHandlers/SetUserVariablesHandler.cs +++ b/src/CommandHandlers/SetUserVariablesHandler.cs @@ -50,31 +50,9 @@ class SetUserVariablesHandler : CommandHandler { } } - if (!updated) { - return; + if (updated) { + client.SendSUV(vl, data); } - - NetworkObject data2 = new(); - data2.Add("u", client.ClientID); - data2.Add("vl", vl); - NetworkPacket packet = NetworkObject.WrapObject(0, 12, data2).Serialize(); - client.Room.Send(packet); - - NetworkObject cmd = new(); - cmd.Add("c", "SUV"); - NetworkArray arr = new(); - if (client.OldApi) { - data.Add("MID", client.ClientID.ToString()); - } else { - data.Add("MID", client.ClientID); - } - data.Add("RID", client.Room.Id.ToString()); - arr.Add(data); - NetworkObject container = new(); - container.Add("arr", arr); - cmd.Add("p", container); - packet = NetworkObject.WrapObject(1, 13, cmd).Serialize(); - client.Room.Send(packet, client); } private void UpdatePlayersInRoom() { diff --git a/src/Core/Client.cs b/src/Core/Client.cs index 0ff7659..9743489 100644 --- a/src/Core/Client.cs +++ b/src/Core/Client.cs @@ -89,6 +89,30 @@ public class Client { } } + public void SendSUV(NetworkArray vl, NetworkObject data) { + NetworkObject data2 = new(); + data2.Add("u", ClientID); + data2.Add("vl", vl); + NetworkPacket packet = NetworkObject.WrapObject(0, 12, data2).Serialize(); + Room.Send(packet); + + NetworkObject cmd = new(); + cmd.Add("c", "SUV"); + NetworkArray arr = new(); + if (OldApi) { + data.Add("MID", ClientID.ToString()); + } else { + data.Add("MID", ClientID); + } + data.Add("RID", Room.Id.ToString()); + arr.Add(data); + NetworkObject container = new(); + container.Add("arr", arr); + cmd.Add("p", container); + packet = NetworkObject.WrapObject(1, 13, cmd).Serialize(); + Room.Send(packet, this); + } + public void Disconnect() { try { socket.Shutdown(SocketShutdown.Both);