refactor(update): cut over the frame orchestrator
Reduce GameWindow.OnUpdate to one typed orchestration call and remove transitive window callbacks from teardown, liveness, teleport placement, live presentation, auto-entry, and entity packet routing. Preserve the frozen retail object/network order while making the production owner graph explicit and testable.
This commit is contained in:
parent
947c61d2d7
commit
e91f310279
18 changed files with 864 additions and 348 deletions
|
|
@ -1,3 +1,4 @@
|
|||
using System.Numerics;
|
||||
using AcDream.App.World;
|
||||
|
||||
namespace AcDream.App.Tests.World;
|
||||
|
|
@ -59,4 +60,17 @@ public sealed class LiveWorldOriginStateTests
|
|||
Assert.Equal(50, state.CenterX);
|
||||
Assert.Equal(51, state.CenterY);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CellLocalForSeed_UsesTheCurrentLandblockOrigin()
|
||||
{
|
||||
var state = new LiveWorldOriginState();
|
||||
state.SetPlaceholder(0x30, 0x32);
|
||||
|
||||
Vector3 local = state.CellLocalForSeed(
|
||||
new Vector3(200f, -300f, 5f),
|
||||
0x3130_0001u);
|
||||
|
||||
Assert.Equal(new Vector3(8f, 84f, 5f), local);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue