From 811104ada872221f7a2f41983fd86c9ed06a0fc6 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Wed, 12 Feb 2025 00:35:54 +0300 Subject: [PATCH] JoinQueue (#883) * JoinQueue stalker port * fix queues --------- Co-authored-by: JerryImMouse --- Content.Client/Entry/EntryPoint.cs | 3 + Content.Client/IoC/ClientContentIoC.cs | 2 + .../_CP14/JoinQueue/JoinQueueManager.cs | 26 +++ Content.Client/_CP14/JoinQueue/QueueGui.xaml | 33 ++++ .../_CP14/JoinQueue/QueueGui.xaml.cs | 41 +++++ Content.Client/_CP14/JoinQueue/QueueState.cs | 53 ++++++ .../Connection/ConnectionManager.cs | 14 ++ Content.Server/Entry/EntryPoint.cs | 2 + .../GameTicking/GameTicker.Player.cs | 2 +- .../GameTicking/GameTicker.StatusShell.cs | 10 +- Content.Server/IoC/ServerContentIoC.cs | 2 + .../_CP14/Discord/DiscordAuthManager.cs | 6 - .../_CP14/JoinQueue/JoinQueueManager.cs | 173 ++++++++++++++++++ .../_CP14/JoinQueue/MsgQueueUpdate.cs | 36 ++++ 14 files changed, 393 insertions(+), 10 deletions(-) create mode 100644 Content.Client/_CP14/JoinQueue/JoinQueueManager.cs create mode 100644 Content.Client/_CP14/JoinQueue/QueueGui.xaml create mode 100644 Content.Client/_CP14/JoinQueue/QueueGui.xaml.cs create mode 100644 Content.Client/_CP14/JoinQueue/QueueState.cs create mode 100644 Content.Server/_CP14/JoinQueue/JoinQueueManager.cs create mode 100644 Content.Shared/_CP14/JoinQueue/MsgQueueUpdate.cs diff --git a/Content.Client/Entry/EntryPoint.cs b/Content.Client/Entry/EntryPoint.cs index af85ff921f..997cfc0b00 100644 --- a/Content.Client/Entry/EntryPoint.cs +++ b/Content.Client/Entry/EntryPoint.cs @@ -1,4 +1,5 @@ using Content.Client._CP14.Discord; +using Content.Client._CP14.JoinQueue; using Content.Client.Administration.Managers; using Content.Client.Changelog; using Content.Client.Chat.Managers; @@ -46,6 +47,7 @@ namespace Content.Client.Entry { //CP14 [Dependency] private readonly DiscordAuthManager _discordAuth = default!; + [Dependency] private readonly JoinQueueManager _joinQueueManager = default!; //CP14 end [Dependency] private readonly IBaseClient _baseClient = default!; [Dependency] private readonly IGameController _gameController = default!; @@ -167,6 +169,7 @@ namespace Content.Client.Entry //CP14 _overlayManager.AddOverlay(new CP14BasePostProcessOverlay()); _discordAuth.Initialize(); + _joinQueueManager.Initialize(); //CP14 end _overlayManager.AddOverlay(new SingularityOverlay()); _overlayManager.AddOverlay(new RadiationPulseOverlay()); diff --git a/Content.Client/IoC/ClientContentIoC.cs b/Content.Client/IoC/ClientContentIoC.cs index 0756800d8d..ebb893c6a5 100644 --- a/Content.Client/IoC/ClientContentIoC.cs +++ b/Content.Client/IoC/ClientContentIoC.cs @@ -1,4 +1,5 @@ using Content.Client._CP14.Discord; +using Content.Client._CP14.JoinQueue; using Content.Client.Administration.Managers; using Content.Client.Changelog; using Content.Client.Chat.Managers; @@ -36,6 +37,7 @@ namespace Content.Client.IoC //CP14 collection.Register(); + collection.Register(); //CP14 end collection.Register(); collection.Register(); diff --git a/Content.Client/_CP14/JoinQueue/JoinQueueManager.cs b/Content.Client/_CP14/JoinQueue/JoinQueueManager.cs new file mode 100644 index 0000000000..81aac3cace --- /dev/null +++ b/Content.Client/_CP14/JoinQueue/JoinQueueManager.cs @@ -0,0 +1,26 @@ +using Content.Shared._CP14.JoinQueue; +using Robust.Client.State; +using Robust.Shared.Network; + +namespace Content.Client._CP14.JoinQueue; + +public sealed class JoinQueueManager +{ + [Dependency] private readonly IClientNetManager _netManager = default!; + [Dependency] private readonly IStateManager _stateManager = default!; + + public void Initialize() + { + _netManager.RegisterNetMessage(OnQueueUpdate); + } + + private void OnQueueUpdate(MsgQueueUpdate msg) + { + if (_stateManager.CurrentState is not QueueState) + { + _stateManager.RequestStateChange(); + } + + ((QueueState) _stateManager.CurrentState).OnQueueUpdate(msg); + } +} diff --git a/Content.Client/_CP14/JoinQueue/QueueGui.xaml b/Content.Client/_CP14/JoinQueue/QueueGui.xaml new file mode 100644 index 0000000000..3599fdd812 --- /dev/null +++ b/Content.Client/_CP14/JoinQueue/QueueGui.xaml @@ -0,0 +1,33 @@ + + + + + + +