88 lines
2.2 KiB
C#
88 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Content.Shared.ActionBlocker;
|
|
using Content.Shared.NetIDs;
|
|
using Robust.Shared.GameObjects;
|
|
using Robust.Shared.Serialization;
|
|
|
|
namespace Content.Shared.Ghost
|
|
{
|
|
public class SharedGhostComponent : Component, IActionBlocker
|
|
{
|
|
public override string Name => "Ghost";
|
|
public override uint? NetID => ContentNetIDs.GHOST;
|
|
|
|
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;
|
|
}
|
|
|
|
[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;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public class GhostRequestWarpPointData : ComponentMessage
|
|
{
|
|
public GhostRequestWarpPointData()
|
|
{
|
|
Directed = true;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public class GhostRequestPlayerNameData : ComponentMessage
|
|
{
|
|
public GhostRequestPlayerNameData()
|
|
{
|
|
Directed = true;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public class GhostReplyWarpPointData : ComponentMessage
|
|
{
|
|
public List<string> WarpName;
|
|
|
|
public GhostReplyWarpPointData(List<string> warpName)
|
|
{
|
|
WarpName = warpName;
|
|
Directed = true;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public class GhostReplyPlayerNameData : ComponentMessage
|
|
{
|
|
public Dictionary<EntityUid,string> PlayerNames;
|
|
|
|
public GhostReplyPlayerNameData(Dictionary<EntityUid, string> playerNameDict)
|
|
{
|
|
PlayerNames = playerNameDict;
|
|
Directed = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
|