refactor(runtime): own projectile simulation
Move projectile component identity, prediction invalidation, spatial worksets, authoritative corrections, and the retail physics step into AcDream.Runtime. Keep App as the DAT-shape and presentation adapter so ACE outcomes and visible behavior remain unchanged.
This commit is contained in:
parent
fce8e7b18e
commit
2aee33569f
19 changed files with 1255 additions and 335 deletions
|
|
@ -83,8 +83,8 @@ internal sealed class LiveEntityAnimationScheduler
|
|||
|
||||
LiveEntityAnimationState? animation = record.AnimationRuntime as LiveEntityAnimationState;
|
||||
RemoteMotion? remote = record.RemoteMotionRuntime as RemoteMotion;
|
||||
ProjectileController.Runtime? projectile =
|
||||
record.ProjectileRuntime as ProjectileController.Runtime;
|
||||
RuntimeProjectile? projectile =
|
||||
record.ProjectileRuntime as RuntimeProjectile;
|
||||
ulong objectClockEpoch = record.ObjectClockEpoch;
|
||||
|
||||
if (!IsCurrent(
|
||||
|
|
@ -167,7 +167,7 @@ internal sealed class LiveEntityAnimationScheduler
|
|||
WorldEntity entity,
|
||||
LiveEntityAnimationState? animation,
|
||||
RemoteMotion? remote,
|
||||
ProjectileController.Runtime? projectile,
|
||||
RuntimeProjectile? projectile,
|
||||
float elapsedSeconds,
|
||||
Vector3? playerPosition,
|
||||
bool localHiddenPartPoseDirty,
|
||||
|
|
@ -508,7 +508,7 @@ internal sealed class LiveEntityAnimationScheduler
|
|||
WorldEntity entity,
|
||||
LiveEntityAnimationState? animation,
|
||||
RemoteMotion? remote,
|
||||
ProjectileController.Runtime? projectile,
|
||||
RuntimeProjectile? projectile,
|
||||
ulong objectClockEpoch) =>
|
||||
runtime.IsCurrentSpatialRootObject(record)
|
||||
&& record.ObjectClockEpoch == objectClockEpoch
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue