32 lines
862 B
C#
32 lines
862 B
C#
using System;
|
|
using Robust.Shared.GameObjects;
|
|
using Robust.Shared.Serialization;
|
|
|
|
namespace Content.Shared.GameObjects.Components.Observer
|
|
{
|
|
public class SharedGhostComponent : Component
|
|
{
|
|
public override string Name => "Ghost";
|
|
public override uint? NetID => ContentNetIDs.GHOST;
|
|
|
|
public virtual bool CanReturnToBody { get; set; } = true;
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public class GhostComponentState : ComponentState
|
|
{
|
|
public bool CanReturnToBody { get; }
|
|
|
|
public GhostComponentState(bool canReturnToBody) : base(ContentNetIDs.GHOST)
|
|
{
|
|
CanReturnToBody = canReturnToBody;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public class ReturnToBodyComponentMessage : ComponentMessage
|
|
{
|
|
public ReturnToBodyComponentMessage() => Directed = true;
|
|
}
|
|
}
|