fish-station/Content.Client/Administration/Systems/AdminWhoSystem.cs
Copilot 878167c937
Вернуть команду adminwho в общий доступ и реализовать UI с правильным client-server взаимодействием (#2918)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: VigersRay <60344369+VigersRay@users.noreply.github.com>
Co-authored-by: Vigers Ray <vigersray@gmail.com>
2025-09-09 22:06:57 +03:00

31 lines
No EOL
806 B
C#

using Content.Shared.Administration;
namespace Content.Client.Administration.Systems;
/// <summary>
/// Client system for handling admin who requests
/// </summary>
public sealed class AdminWhoSystem : EntitySystem
{
public event Action<List<AdminWhoEntry>>? OnAdminWhoUpdate;
public override void Initialize()
{
base.Initialize();
SubscribeNetworkEvent<AdminWhoResponseEvent>(OnAdminWhoResponse);
}
/// <summary>
/// Request the list of online administrators from the server
/// </summary>
public void RequestAdminWho()
{
RaiseNetworkEvent(new RequestAdminWhoEvent());
}
private void OnAdminWhoResponse(AdminWhoResponseEvent args, EntitySessionEventArgs session)
{
OnAdminWhoUpdate?.Invoke(args.Admins);
}
}