Add make ghost role verb (#3204)

This commit is contained in:
DrSmugleaf
2021-02-16 09:51:27 +01:00
committed by GitHub
parent 6a3072e4fd
commit 78afc2db0f
19 changed files with 388 additions and 20 deletions

View File

@@ -4,7 +4,7 @@ using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
using Robust.Shared.ViewVariables;
namespace Content.Server.GameObjects.Components.Observer
namespace Content.Server.GameObjects.Components.Observer.GhostRoles
{
public abstract class GhostRoleComponent : Component
{
@@ -16,11 +16,8 @@ namespace Content.Server.GameObjects.Components.Observer
[ViewVariables(VVAccess.ReadWrite)]
public string RoleName
{
get
{
return _roleName;
}
private set
get => _roleName;
set
{
_roleName = value;
EntitySystem.Get<GhostRoleSystem>().UpdateAllEui();
@@ -30,11 +27,8 @@ namespace Content.Server.GameObjects.Components.Observer
[ViewVariables(VVAccess.ReadWrite)]
public string RoleDescription
{
get
{
return _roleDescription;
}
private set
get => _roleDescription;
set
{
_roleDescription = value;
EntitySystem.Get<GhostRoleSystem>().UpdateAllEui();

View File

@@ -8,7 +8,7 @@ using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
using Robust.Shared.ViewVariables;
namespace Content.Server.GameObjects.Components.Observer
namespace Content.Server.GameObjects.Components.Observer.GhostRoles
{
/// <summary>
/// Allows a ghost to take this role, spawning a new entity.

View File

@@ -1,10 +1,10 @@
using Content.Server.Eui;
using Content.Server.GameObjects.EntitySystems;
using Content.Shared.Eui;
using Content.Shared.GameObjects.Components.Observer;
using Content.Shared.GameObjects.Components.Observer.GhostRoles;
using Robust.Shared.GameObjects;
namespace Content.Server.GameObjects.Components.Observer
namespace Content.Server.GameObjects.Components.Observer.GhostRoles
{
public class GhostRolesEui : BaseEui
{

View File

@@ -5,7 +5,7 @@ using Content.Server.Players;
using Robust.Server.Player;
using Robust.Shared.GameObjects;
namespace Content.Server.GameObjects.Components.Observer
namespace Content.Server.GameObjects.Components.Observer.GhostRoles
{
/// <summary>
/// Allows a ghost to take over the Owner entity.

View File

@@ -0,0 +1,42 @@
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 MakeGhostRoleEui : BaseEui
{
public MakeGhostRoleEui(EntityUid entityUid)
{
EntityUid = entityUid;
}
public EntityUid EntityUid { get; }
public override EuiStateBase GetNewState()
{
return new MakeGhostRoleEuiState(EntityUid);
}
public override void HandleMessage(EuiMessageBase msg)
{
base.HandleMessage(msg);
switch (msg)
{
case MakeGhostRoleWindowClosedMessage _:
Closed();
break;
}
}
public override void Closed()
{
base.Closed();
EntitySystem.Get<GhostRoleSystem>().CloseMakeGhostRoleEui(Player);
}
}
}