From c7e31c53ab06b4270d019632384a2cce5e6c48c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=86=D0=B2=D0=B0=D0=BD=20=D0=9E=D0=BD=D1=96=D1=89=D0=B5?= =?UTF-8?q?=D0=BD=D0=BA=D0=BE?= Date: Tue, 7 Jan 2025 18:27:35 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=BC=D0=B8=D0=BD=D0=B3?= =?UTF-8?q?=D0=B8=20+=20=D1=84=D0=B8=D0=BA=D1=81=20=D0=B2=D1=81=D0=B5?= =?UTF-8?q?=D0=B3=D0=BE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HoursPanelSystems/HoursPanel.xaml.cs | 24 ++++++++++++------- .../HoursPanelSystems/HoursPanelSystem.cs | 23 ++++++++---------- .../_White/Administration/HoursPanelSystem.cs | 2 +- .../HoursPanelSystem/HoursPanelMessages.cs | 1 + global.json | 2 +- 5 files changed, 29 insertions(+), 23 deletions(-) diff --git a/Content.Client/_White/Administration/HoursPanelSystems/HoursPanel.xaml.cs b/Content.Client/_White/Administration/HoursPanelSystems/HoursPanel.xaml.cs index 45e96bc9c9..f47384cd4c 100644 --- a/Content.Client/_White/Administration/HoursPanelSystems/HoursPanel.xaml.cs +++ b/Content.Client/_White/Administration/HoursPanelSystems/HoursPanel.xaml.cs @@ -17,17 +17,17 @@ namespace Content.Client._White.Administration.HoursPanelSystems; public sealed partial class HoursPanel : DefaultWindow { - private HoursPanelSystem _huetaSystem =new(); + public HoursPanelSystem _huetaSystem; + + public HoursPanel() { - // var owner = new HoursPanelSystem(this); - var owner = _huetaSystem; - owner._panel = this; - - - - RobustXamlLoader.Load(this); + + var entityManager = IoCManager.Resolve(); + _huetaSystem = entityManager.System(); + _huetaSystem._panel = this; + var owner = _huetaSystem; var roles = new Dictionary(); PlayerNameLine.OnTextChanged += _ => OnNamesChanged(); PlayerNameLine.OnTextEntered += _ => OnNameSubmited(owner, roles); @@ -39,14 +39,20 @@ public sealed partial class HoursPanel : DefaultWindow SaveButton.OnPressed += _ => OnSaveButtonOnPressed(); OnNamesChanged(); InitRoleList(roles); + + } + + public void UpdateTime(TimeSpan? time) { if (time == null) TimeDisplayer.Text = $"Время игры: нет данных"; else TimeDisplayer.Text = $"Время игры: {time}"; + + } private void OnItemSelected(OptionButton.ItemSelectedEventArgs args, HoursPanelSystem owner, Dictionary roles) @@ -127,6 +133,8 @@ public sealed partial class HoursPanel : DefaultWindow IoCManager.Resolve().ExecuteCommand( $"playtime_addrole {PlayerNameLine.Text} {roles[RoleOption.SelectedId]} {MinutesLine.Text}"); SaveButton.Disabled = false; + + _huetaSystem.SendPlayerTimeRequest(new HoursPanelMessageToServer(PlayerNameLine.Text, roles[RoleOption.SelectedId])); } private void OnSaveButtonOnPressed() diff --git a/Content.Client/_White/Administration/HoursPanelSystems/HoursPanelSystem.cs b/Content.Client/_White/Administration/HoursPanelSystems/HoursPanelSystem.cs index 15b07010b9..97024d80aa 100644 --- a/Content.Client/_White/Administration/HoursPanelSystems/HoursPanelSystem.cs +++ b/Content.Client/_White/Administration/HoursPanelSystems/HoursPanelSystem.cs @@ -8,16 +8,13 @@ public sealed class HoursPanelSystem : EntitySystem public HoursPanel? _panel; - public HoursPanelSystem() - { - - } + //private HoursPanel _panel; - //public HoursPanelSystem(HoursPanel panel) - //{ - // _panel = panel; - //} + public HoursPanelSystem() + { + + } public override void Initialize() @@ -29,14 +26,14 @@ public sealed class HoursPanelSystem : EntitySystem private void OnHoursPanelMessage(HoursPanelMessageToClient message, EntitySessionEventArgs eventArgs) { - _panel.UpdateTime(message.Time); + _panel?.UpdateTime(message.Time); } public void SendPlayerTimeRequest(HoursPanelMessageToServer message) - { - var _entityManager = IoCManager.Resolve(); - var _che = _entityManager.System(); + { + var _entityManager = IoCManager.Resolve(); + var _che = _entityManager.System(); _che.SendNetMessage(message); - //RaiseNetworkEvent(message); + // RaiseNetworkEvent(message); } } diff --git a/Content.Server/_White/Administration/HoursPanelSystem.cs b/Content.Server/_White/Administration/HoursPanelSystem.cs index 697e952a59..77f9922e22 100644 --- a/Content.Server/_White/Administration/HoursPanelSystem.cs +++ b/Content.Server/_White/Administration/HoursPanelSystem.cs @@ -17,7 +17,7 @@ public sealed class HoursPanelSystem : EntitySystem } private void OnHoursPanelMessage(HoursPanelMessageToServer message, EntitySessionEventArgs eventArgs) { - if (_playerManager.TryGetSessionByUsername(message.PlayerCKey, out var player)) + if (!_playerManager.TryGetSessionByUsername(message.PlayerCKey, out var player)) return; if (player == null) diff --git a/Content.Shared/_White/Administration/HoursPanelSystem/HoursPanelMessages.cs b/Content.Shared/_White/Administration/HoursPanelSystem/HoursPanelMessages.cs index c1d6db0f6e..40062487bf 100644 --- a/Content.Shared/_White/Administration/HoursPanelSystem/HoursPanelMessages.cs +++ b/Content.Shared/_White/Administration/HoursPanelSystem/HoursPanelMessages.cs @@ -14,6 +14,7 @@ public sealed class HoursPanelMessageToServer : EntityEventArgs } } +[Serializable, NetSerializable] public sealed class HoursPanelMessageToClient : EntityEventArgs { public TimeSpan Time { get; } diff --git a/global.json b/global.json index ed820b550b..de3fa63978 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.205" + "version": "8.0.202" } }