Files
tbd-station-14/Content.Shared/Placeable/SharedPlaceableSurfaceComponent.cs
2021-06-09 22:19:39 +02:00

34 lines
1.1 KiB
C#

#nullable enable
using System;
using Content.Shared.NetIDs;
using Robust.Shared.GameObjects;
using Robust.Shared.Maths;
using Robust.Shared.Serialization;
namespace Content.Shared.Placeable
{
public abstract class SharedPlaceableSurfaceComponent : Component
{
public override string Name => "PlaceableSurface";
public override uint? NetID => ContentNetIDs.PLACEABLE_SURFACE;
public virtual bool IsPlaceable { get; set; }
public virtual bool PlaceCentered { get; set; }
public virtual Vector2 PositionOffset { get; set; }
}
[Serializable, NetSerializable]
public class PlaceableSurfaceComponentState : ComponentState
{
public readonly bool IsPlaceable;
public readonly bool PlaceCentered;
public readonly Vector2 PositionOffset;
public PlaceableSurfaceComponentState(bool placeable, bool centered, Vector2 offset) : base(ContentNetIDs.PLACEABLE_SURFACE)
{
IsPlaceable = placeable;
PlaceCentered = centered;
PositionOffset = offset;
}
}
}