From 3affb59eb9b90cb8b850299646e96c6bd4ede7c4 Mon Sep 17 00:00:00 2001 From: "Robin C. Ladiges" Date: Fri, 21 Jun 2024 22:10:52 +0200 Subject: [PATCH] fix: `tag seeking` command send new state to all players --- Server/Program.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Server/Program.cs b/Server/Program.cs index 6bb043f..b327fcf 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -483,12 +483,17 @@ CommandHandler.RegisterCommand("tag", args => { if (!bool.TryParse(args[2], out bool seeking)) return $"Usage: tag seeking {args[1]} "; TagPacket tagPacket = new TagPacket { UpdateType = TagPacket.TagUpdate.State, - IsIt = seeking + IsIt = seeking, }; - if (args[1] == "*") - server.Broadcast(tagPacket); - else - client?.Send(tagPacket); + if (args[1] == "*") { + Parallel.ForEachAsync(server.Clients, async (client, _) => { + await server.Broadcast(tagPacket, client); + await client.Send(tagPacket); + }); + } else if (client != null) { + server.Broadcast(tagPacket, client); + client.Send(tagPacket); + } return $"Set {(args[1] == "*" ? "everyone" : args[1])} to {(seeking ? "seeker" : "hider")}"; } case "start" when args.Length > 2: {