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>
31 lines
No EOL
806 B
C#
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);
|
|
}
|
|
} |