Try fix some mover jank (#13503)

This commit is contained in:
Leon Friedrich
2023-01-16 21:20:22 +13:00
committed by GitHub
parent 450dfd5074
commit 4b65fb1579
6 changed files with 79 additions and 68 deletions

View File

@@ -62,29 +62,22 @@ namespace Content.Server.Physics.Controllers
var bodyQuery = GetEntityQuery<PhysicsComponent>();
var relayQuery = GetEntityQuery<RelayInputMoverComponent>();
var relayTargetQuery = GetEntityQuery<MovementRelayTargetComponent>();
var xformQuery = GetEntityQuery<TransformComponent>();
var moverQuery = GetEntityQuery<InputMoverComponent>();
foreach (var mover in EntityQuery<InputMoverComponent>(true))
{
if (relayQuery.TryGetComponent(mover.Owner, out var relayed) && relayed.RelayEntity != null)
{
if (moverQuery.TryGetComponent(relayed.RelayEntity, out var relayMover))
{
relayMover.CanMove = mover.CanMove;
relayMover.RelativeEntity = mover.RelativeEntity;
relayMover.RelativeRotation = mover.RelativeRotation;
relayMover.TargetRelativeRotation = mover.TargetRelativeRotation;
continue;
}
}
var uid = mover.Owner;
if (relayQuery.HasComponent(uid))
continue;
if (!xformQuery.TryGetComponent(mover.Owner, out var xform))
if (!xformQuery.TryGetComponent(uid, out var xform))
{
continue;
}
PhysicsComponent? body = null;
PhysicsComponent? body;
var xformMover = xform;
if (mover.ToParent && relayQuery.HasComponent(xform.ParentUid))
@@ -95,12 +88,12 @@ namespace Content.Server.Physics.Controllers
continue;
}
}
else if (!bodyQuery.TryGetComponent(mover.Owner, out body))
else if (!bodyQuery.TryGetComponent(uid, out body))
{
continue;
}
HandleMobMovement(mover, body, xformMover, frameTime, xformQuery);
HandleMobMovement(uid, mover, body, xformMover, frameTime, xformQuery, moverQuery, relayTargetQuery);
}
HandleShuttleMovement(frameTime);