From 0c8d57f03d1d2b8b788e885a22be45b7ea10002b Mon Sep 17 00:00:00 2001 From: Hipposgrumm <60556345+Hipposgrumm@users.noreply.github.com> Date: Sun, 7 Dec 2025 11:33:24 -0700 Subject: [PATCH] Added command handler for room elapsed time. (#12) * Added command handler for room elapsed time. * Made ElapsedTimeSyncHandler use Runtime.CurrentRuntime instead of creating a stopwatch per-room. --- src/CommandHandlers/ElapsedTimeSyncHandler.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/CommandHandlers/ElapsedTimeSyncHandler.cs diff --git a/src/CommandHandlers/ElapsedTimeSyncHandler.cs b/src/CommandHandlers/ElapsedTimeSyncHandler.cs new file mode 100644 index 0000000..3311d5c --- /dev/null +++ b/src/CommandHandlers/ElapsedTimeSyncHandler.cs @@ -0,0 +1,20 @@ +using sodoffmmo.Attributes; +using sodoffmmo.Core; +using sodoffmmo.Data; + +namespace sodoffmmo.CommandHandlers; + +[ExtensionCommandHandler("RTM")] +class ElapsedTimeSyncHandler : CommandHandler { + public override Task Handle(Client client, NetworkObject receivedObject) { + if (client.Room != null) { + NetworkObject cmd = new(); + NetworkObject obj = new(); + obj.Add("arr", new string[] { "RTM", "-1", Runtime.CurrentRuntime.ToString() }); + cmd.Add("c", "RTM"); + cmd.Add("p", obj); + client.Send(NetworkObject.WrapObject(1, 13, cmd).Serialize()); + } + return Task.CompletedTask; + } +} \ No newline at end of file