#nullable enable using Content.Shared.GameObjects.Components; using Robust.Shared.GameObjects; namespace Content.Client.GameObjects.Components { [RegisterComponent] [ComponentReference(typeof(SharedPlaceableSurfaceComponent))] public class PlaceableSurfaceComponent : SharedPlaceableSurfaceComponent { private bool _isPlaceable; public override bool IsPlaceable { get => _isPlaceable; set { if (_isPlaceable == value) { return; } _isPlaceable = value; Dirty(); } } public override void HandleComponentState(ComponentState? curState, ComponentState? nextState) { base.HandleComponentState(curState, nextState); if (!(curState is PlaceableSurfaceComponentState state)) { return; } _isPlaceable = state.IsPlaceable; } } }