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
|
|
@ -234,8 +234,8 @@ public sealed class LiveEntityAnimationSchedulerTests
|
|||
var (live, record, animation) = BuildVisibleAnimatedWithPosFrames(
|
||||
RemoteGuid,
|
||||
rootOrigin: Vector3.Zero);
|
||||
var physics = new PhysicsEngine();
|
||||
var projectiles = new ProjectileController(live, physics);
|
||||
PhysicsEngine physics = live.Physics.Engine;
|
||||
var projectiles = new ProjectileController(live);
|
||||
record.FinalPhysicsState = ProjectileState;
|
||||
Assert.True(record.ObjectClock.IsActive);
|
||||
Assert.True(projectiles.TryBind(
|
||||
|
|
@ -287,8 +287,8 @@ public sealed class LiveEntityAnimationSchedulerTests
|
|||
var (live, record, animation) = BuildVisibleAnimatedWithPosFrames(
|
||||
RemoteGuid,
|
||||
rootOrigin: Vector3.Zero);
|
||||
var physics = new PhysicsEngine();
|
||||
var projectiles = new ProjectileController(live, physics);
|
||||
PhysicsEngine physics = live.Physics.Engine;
|
||||
var projectiles = new ProjectileController(live);
|
||||
record.FinalPhysicsState = ProjectileState;
|
||||
var remote = new AcDream.Runtime.Physics.RemoteMotion
|
||||
{
|
||||
|
|
@ -642,7 +642,7 @@ public sealed class LiveEntityAnimationSchedulerTests
|
|||
new AnimationHookRouter(),
|
||||
poses))
|
||||
: new TestAnimationHookCaptureSink(captureHooks);
|
||||
projectiles ??= new ProjectileController(live, physics);
|
||||
projectiles ??= new ProjectileController(live);
|
||||
return new LiveEntityAnimationScheduler(
|
||||
live,
|
||||
identity,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue