Files
tbd-station-14/Content.Server/GameObjects/Components/Observer/GhostRoles/GhostRolesEui.cs
2021-02-16 09:51:27 +01:00

40 lines
1.1 KiB
C#

using Content.Server.Eui;
using Content.Server.GameObjects.EntitySystems;
using Content.Shared.Eui;
using Content.Shared.GameObjects.Components.Observer.GhostRoles;
using Robust.Shared.GameObjects;
namespace Content.Server.GameObjects.Components.Observer.GhostRoles
{
public class GhostRolesEui : BaseEui
{
public override GhostRolesEuiState GetNewState()
{
return new(EntitySystem.Get<GhostRoleSystem>().GetGhostRolesInfo());
}
public override void HandleMessage(EuiMessageBase msg)
{
base.HandleMessage(msg);
switch (msg)
{
case GhostRoleTakeoverRequestMessage req:
EntitySystem.Get<GhostRoleSystem>().Takeover(Player, req.Identifier);
break;
case GhostRoleWindowCloseMessage _:
Closed();
break;
}
}
public override void Closed()
{
base.Closed();
EntitySystem.Get<GhostRoleSystem>().CloseEui(Player);
}
}
}