Files
tbd-station-14/Content.Shared/GameObjects/Components/Strap/SharedStrapComponent.cs
2020-07-07 00:04:30 +02:00

53 lines
1.2 KiB
C#

using System;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
namespace Content.Shared.GameObjects.Components.Strap
{
public enum StrapPosition
{
/// <summary>
/// (Default) Makes no change to the buckled mob
/// </summary>
None = 0,
/// <summary>
/// Makes the mob stand up
/// </summary>
Stand,
/// <summary>
/// Makes the mob lie down
/// </summary>
Down
}
public abstract class SharedStrapComponent : Component
{
public sealed override string Name => "Strap";
public sealed override uint? NetID => ContentNetIDs.STRAP;
public abstract StrapPosition Position { get; protected set; }
}
[Serializable, NetSerializable]
public sealed class StrapComponentState : ComponentState
{
public readonly StrapPosition Position;
public StrapComponentState(StrapPosition position) : base(ContentNetIDs.BUCKLE)
{
Position = position;
}
public bool Buckled { get; }
}
[Serializable, NetSerializable]
public enum StrapVisuals
{
RotationAngle
}
}