mirror of
https://github.com/space-wizards/space-station-14.git
synced 2026-02-14 19:29:53 +01:00
47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using Robust.Shared.Containers;
|
|
using Robust.Shared.GameStates;
|
|
|
|
namespace Content.Shared.Body;
|
|
|
|
/// <summary>
|
|
/// Component on the entity that "has" a body, and that oversees entities with the <see cref="OrganComponent"/> inside it.
|
|
/// </summary>
|
|
/// <seealso cref="BodySystem" />
|
|
/// <seealso cref="SharedVisualBodySystem" />
|
|
[RegisterComponent, NetworkedComponent]
|
|
[Access(typeof(BodySystem))]
|
|
public sealed partial class BodyComponent : Component
|
|
{
|
|
public const string ContainerID = "body_organs";
|
|
|
|
/// <summary>
|
|
/// The actual container with entities with <see cref="OrganComponent" /> in it
|
|
/// </summary>
|
|
[ViewVariables]
|
|
public Container? Organs;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Raised on organ entity, when it is inserted into a body
|
|
/// </summary>
|
|
[ByRefEvent]
|
|
public readonly record struct OrganGotInsertedEvent(EntityUid Target);
|
|
|
|
/// <summary>
|
|
/// Raised on organ entity, when it is removed from a body
|
|
/// </summary>
|
|
[ByRefEvent]
|
|
public readonly record struct OrganGotRemovedEvent(EntityUid Target);
|
|
|
|
/// <summary>
|
|
/// Raised on body entity, when an organ is inserted into it
|
|
/// </summary>
|
|
[ByRefEvent]
|
|
public readonly record struct OrganInsertedIntoEvent(EntityUid Organ);
|
|
|
|
/// <summary>
|
|
/// Raised on body entity, when an organ is removed from it
|
|
/// </summary>
|
|
[ByRefEvent]
|
|
public readonly record struct OrganRemovedFromEvent(EntityUid Organ);
|