fix(runtime): preserve hidden setposition collision ownership
This commit is contained in:
parent
9b0f59bd1b
commit
0fbc7a1fb7
8 changed files with 343 additions and 43 deletions
|
|
@ -392,8 +392,7 @@ internal sealed class RuntimeSetPositionState : IDisposable
|
|||
body,
|
||||
placementCommitVersion,
|
||||
fullCellId,
|
||||
requireSpatialRoot: false)
|
||||
&& owner.IsCollisionReportingEligible(record, body);
|
||||
requireSpatialRoot: false);
|
||||
}
|
||||
|
||||
private readonly RuntimePhysicsState _physics;
|
||||
|
|
@ -3389,21 +3388,21 @@ internal sealed class RuntimeSetPositionState : IDisposable
|
|||
body,
|
||||
canonicalCommitVersion,
|
||||
committedCellId,
|
||||
requireSpatialRoot: false)
|
||||
|| !IsCollisionReportingEligible(record, body))
|
||||
requireSpatialRoot: false))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
bool reportingCurrent = _physics.HandleSetPositionCollisionReports(
|
||||
record,
|
||||
operation.PositionAuthorityVersion,
|
||||
operation.SpatialAuthorityVersion,
|
||||
operation.Command.GameTime,
|
||||
operation.PreviousContact,
|
||||
operation.PreviousOnWalkable,
|
||||
collidedWithEnvironment,
|
||||
collidedObjectIds,
|
||||
out _);
|
||||
bool reportingCurrent = !IsCollisionReportingEligible(record, body)
|
||||
|| _physics.HandleSetPositionCollisionReports(
|
||||
record,
|
||||
operation.PositionAuthorityVersion,
|
||||
operation.SpatialAuthorityVersion,
|
||||
operation.Command.GameTime,
|
||||
operation.PreviousContact,
|
||||
operation.PreviousOnWalkable,
|
||||
collidedWithEnvironment,
|
||||
collidedObjectIds,
|
||||
out _);
|
||||
if (!reportingCurrent
|
||||
|| !IsCanonicalPlacementCommitCurrent(
|
||||
operation,
|
||||
|
|
@ -3411,8 +3410,7 @@ internal sealed class RuntimeSetPositionState : IDisposable
|
|||
body,
|
||||
canonicalCommitVersion,
|
||||
committedCellId,
|
||||
requireSpatialRoot: false)
|
||||
|| !IsCollisionReportingEligible(record, body))
|
||||
requireSpatialRoot: false))
|
||||
return false;
|
||||
body.FramesStationaryFall = result.FramesStationaryFall;
|
||||
if (IsVelocityCurrent(operation))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue