Refactor drag and drop to use a shared interface (#2012)
* WIP in progress hours * Cleanup * Fix bugle * Fix nullable error * Merge fixes * Merge fixes * Merge fixes
This commit is contained in:
@@ -1,11 +1,41 @@
|
||||
#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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user