[Dependency] private readonly PopupSystem _popup = default!;
[Dependency] private readonly SharedToolSystem _tool = default!;
[Dependency] private readonly PullingSystem _pulling = default!;
+ [Dependency] private readonly SharedTransformSystem _transform = default!;
public override void Initialize()
{
var xform = Transform(uid);
RaiseLocalEvent(uid, new BeforeUnanchoredEvent(args.User, used));
- xform.Anchored = false;
+ _transform.Unanchor(uid, xform);
RaiseLocalEvent(uid, new UserUnanchoredEvent(args.User, used));
_popup.PopupEntity(Loc.GetString("anchorable-unanchored"), uid);
// TODO: Anchoring snaps rn anyway!
if (component.Snap)
- xform.Coordinates = xform.Coordinates.SnapToGrid(EntityManager, _mapManager);
+ {
+ _transform.SetCoordinates(uid, xform.Coordinates.SnapToGrid(EntityManager, _mapManager));
+ }
RaiseLocalEvent(uid, new BeforeAnchoredEvent(args.User, used));
- xform.Anchored = true;
+
+ if (!xform.Anchored)
+ _transform.AnchorEntity(uid, xform);
+
RaiseLocalEvent(uid, new UserAnchoredEvent(args.User, used));
_popup.PopupEntity(Loc.GetString("anchorable-anchored"), uid);