| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using Content.Server.EUI;
- using Content.Shared.Eui;
- using Content.Shared.Ghost.Roles;
- namespace Content.Server.Ghost.Roles.UI
- {
- public sealed class GhostRolesEui : BaseEui
- {
- private readonly GhostRoleSystem _ghostRoleSystem;
- public GhostRolesEui()
- {
- _ghostRoleSystem = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<GhostRoleSystem>();
- }
- public override GhostRolesEuiState GetNewState()
- {
- return new(_ghostRoleSystem.GetGhostRolesInfo(Player));
- }
- public override void HandleMessage(EuiMessageBase msg)
- {
- base.HandleMessage(msg);
- switch (msg)
- {
- case RequestGhostRoleMessage req:
- _ghostRoleSystem.Request(Player, req.Identifier);
- break;
- case FollowGhostRoleMessage req:
- _ghostRoleSystem.Follow(Player, req.Identifier);
- break;
- case LeaveGhostRoleRaffleMessage req:
- _ghostRoleSystem.LeaveRaffle(Player, req.Identifier);
- break;
- }
- }
- public override void Closed()
- {
- base.Closed();
- _ghostRoleSystem.CloseEui(Player);
- }
- }
- }
|