Remove IActionBlocker.CanMove (#4449)

* Remove IActionBlocker.CanMove

Ported the remainders over to using MovementAttemptEvent which should also help make mob movement a bit faster.

* Make that check faster
This commit is contained in:
metalgearsloth
2021-08-10 10:34:01 +10:00
committed by GitHub
parent 0f5f9a7f38
commit b2322864e9
19 changed files with 80 additions and 54 deletions

View File

@@ -1,4 +1,5 @@
using Content.Shared.Cuffs.Components;
using Content.Shared.Movement;
using Content.Shared.Pulling.Components;
using Robust.Shared.GameObjects;
@@ -10,6 +11,15 @@ namespace Content.Shared.Cuffs
{
base.Initialize();
SubscribeLocalEvent<SharedCuffableComponent, StopPullingEvent>(HandleStopPull);
SubscribeLocalEvent<SharedCuffableComponent, MovementAttemptEvent>(HandleMoveAttempt);
}
private void HandleMoveAttempt(EntityUid uid, SharedCuffableComponent component, MovementAttemptEvent args)
{
if (component.CanStillInteract || !ComponentManager.TryGetComponent(uid, out SharedPullableComponent? pullable) || !pullable.BeingPulled)
return;
args.Cancel();
}
private void HandleStopPull(EntityUid uid, SharedCuffableComponent component, StopPullingEvent args)