2020-03-03 19:10:07 +01:00
|
|
|
using System;
|
2020-06-24 02:21:20 +02:00
|
|
|
using Content.Shared.GameObjects.EntitySystems;
|
2020-03-03 18:04:16 +01:00
|
|
|
using Robust.Shared.GameObjects;
|
2020-03-03 19:10:07 +01:00
|
|
|
using Robust.Shared.Serialization;
|
2020-03-03 18:04:16 +01:00
|
|
|
|
2020-04-05 02:29:04 +02:00
|
|
|
namespace Content.Shared.GameObjects.Components.Observer
|
2020-03-03 18:04:16 +01:00
|
|
|
{
|
2020-06-24 02:21:20 +02:00
|
|
|
public class SharedGhostComponent : Component, IActionBlocker
|
2020-03-03 18:04:16 +01:00
|
|
|
{
|
|
|
|
|
public override string Name => "Ghost";
|
2020-03-03 19:10:07 +01:00
|
|
|
public override uint? NetID => ContentNetIDs.GHOST;
|
2020-06-24 02:21:20 +02:00
|
|
|
|
|
|
|
|
public bool CanInteract() => false;
|
|
|
|
|
public bool CanUse() => false;
|
|
|
|
|
public bool CanThrow() => false;
|
|
|
|
|
public bool CanDrop() => false;
|
|
|
|
|
public bool CanPickup() => false;
|
|
|
|
|
public bool CanEmote() => false;
|
|
|
|
|
public bool CanAttack() => false;
|
2020-09-09 18:03:27 +03:00
|
|
|
public bool CanShiver() => false;
|
|
|
|
|
public bool CanSweat() => false;
|
2020-03-03 19:10:07 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
public class GhostComponentState : ComponentState
|
|
|
|
|
{
|
|
|
|
|
public bool CanReturnToBody { get; }
|
|
|
|
|
|
2020-06-08 16:49:05 -04:00
|
|
|
public GhostComponentState(bool canReturnToBody) : base(ContentNetIDs.GHOST)
|
2020-03-03 19:10:07 +01:00
|
|
|
{
|
|
|
|
|
CanReturnToBody = canReturnToBody;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
public class ReturnToBodyComponentMessage : ComponentMessage
|
|
|
|
|
{
|
|
|
|
|
public ReturnToBodyComponentMessage() => Directed = true;
|
2020-03-03 18:04:16 +01:00
|
|
|
}
|
2020-09-02 06:07:54 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
public class ReturnToCloneComponentMessage : ComponentMessage
|
|
|
|
|
{
|
|
|
|
|
public ReturnToCloneComponentMessage() => Directed = true;
|
|
|
|
|
}
|
2020-03-03 18:04:16 +01:00
|
|
|
}
|