From 6edb29f68bc58a17d6b11da852f89bd597491ea4 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sun, 8 May 2022 15:50:31 +1000 Subject: [PATCH] PlaceableSurface ECS (#8013) --- .../Placeable/PlaceableSurfaceComponent.cs | 12 ------------ Content.Shared/Placeable/PlaceableSurfaceSystem.cs | 12 +++++++++--- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/Content.Shared/Placeable/PlaceableSurfaceComponent.cs b/Content.Shared/Placeable/PlaceableSurfaceComponent.cs index 0f56a346e0..f4e64f240a 100644 --- a/Content.Shared/Placeable/PlaceableSurfaceComponent.cs +++ b/Content.Shared/Placeable/PlaceableSurfaceComponent.cs @@ -1,12 +1,5 @@ -using System; -using Robust.Shared.Analyzers; -using Robust.Shared.GameObjects; using Robust.Shared.GameStates; -using Robust.Shared.Maths; -using Robust.Shared.Players; using Robust.Shared.Serialization; -using Robust.Shared.Serialization.Manager.Attributes; -using Robust.Shared.ViewVariables; namespace Content.Shared.Placeable { @@ -25,11 +18,6 @@ namespace Content.Shared.Placeable [ViewVariables] [DataField("positionOffset")] public Vector2 PositionOffset { get; set; } - - public override ComponentState GetComponentState() - { - return new PlaceableSurfaceComponentState(IsPlaceable,PlaceCentered, PositionOffset); - } } [Serializable, NetSerializable] diff --git a/Content.Shared/Placeable/PlaceableSurfaceSystem.cs b/Content.Shared/Placeable/PlaceableSurfaceSystem.cs index 949b28b93b..8ea0940763 100644 --- a/Content.Shared/Placeable/PlaceableSurfaceSystem.cs +++ b/Content.Shared/Placeable/PlaceableSurfaceSystem.cs @@ -14,16 +14,22 @@ namespace Content.Shared.Placeable base.Initialize(); SubscribeLocalEvent(OnAfterInteractUsing); + SubscribeLocalEvent(OnGetState); SubscribeLocalEvent(OnHandleState); } + private void OnGetState(EntityUid uid, PlaceableSurfaceComponent component, ref ComponentGetState args) + { + args.State = new PlaceableSurfaceComponentState(component.IsPlaceable, component.PlaceCentered, component.PositionOffset); + } + public void SetPlaceable(EntityUid uid, bool isPlaceable, PlaceableSurfaceComponent? surface = null) { if (!Resolve(uid, ref surface)) return; surface.IsPlaceable = isPlaceable; - surface.Dirty(); + Dirty(surface); } public void SetPlaceCentered(EntityUid uid, bool placeCentered, PlaceableSurfaceComponent? surface = null) @@ -32,7 +38,7 @@ namespace Content.Shared.Placeable return; surface.PlaceCentered = placeCentered; - surface.Dirty(); + Dirty(surface); } public void SetPositionOffset(EntityUid uid, Vector2 offset, PlaceableSurfaceComponent? surface = null) @@ -41,7 +47,7 @@ namespace Content.Shared.Placeable return; surface.PositionOffset = offset; - surface.Dirty(); + Dirty(surface); } private void OnAfterInteractUsing(EntityUid uid, PlaceableSurfaceComponent surface, AfterInteractUsingEvent args)