refactor(runtime): own world reveal generation
This commit is contained in:
parent
4ab98b080e
commit
a6860d5563
26 changed files with 1294 additions and 502 deletions
|
|
@ -3,6 +3,8 @@ using AcDream.App.Rendering;
|
|||
using AcDream.App.Streaming;
|
||||
using AcDream.App.Update;
|
||||
using AcDream.App.World;
|
||||
using AcDream.Runtime;
|
||||
using AcDream.Runtime.World;
|
||||
|
||||
namespace AcDream.App.Tests.World;
|
||||
|
||||
|
|
@ -137,8 +139,10 @@ public sealed class UpdateFrameOrchestratorTests
|
|||
{
|
||||
var calls = new List<string>();
|
||||
var observed = new FrameObservations();
|
||||
var availability = new WorldGenerationAvailabilityState();
|
||||
availability.Begin(7);
|
||||
var transit = new RuntimeWorldTransitState();
|
||||
var availability = new WorldGenerationAvailabilityState(transit);
|
||||
long generation =
|
||||
transit.BeginReveal(RuntimePortalKind.Portal, 0x11340021u);
|
||||
UpdateFrameOrchestrator frame = Create(
|
||||
calls,
|
||||
observed: observed,
|
||||
|
|
@ -146,7 +150,20 @@ public sealed class UpdateFrameOrchestratorTests
|
|||
|
||||
frame.Tick(new UpdateFrameInput(0.25));
|
||||
frame.Tick(new UpdateFrameInput(0.25));
|
||||
availability.End(7);
|
||||
Assert.True(transit.AcknowledgeDestinationReadiness(
|
||||
new RuntimeDestinationReadiness(
|
||||
generation,
|
||||
0x11340021u,
|
||||
IsIndoor: false,
|
||||
IsUnhydratable: false,
|
||||
RequiredRenderRadius: 1,
|
||||
IsRenderNeighborhoodReady: true,
|
||||
AreCompositeTexturesReady: true,
|
||||
IsCollisionReady: true)));
|
||||
Assert.True(transit.AcknowledgeMaterialized(
|
||||
generation,
|
||||
0x11340021u));
|
||||
transit.Complete(generation);
|
||||
frame.Tick(new UpdateFrameInput(0.25));
|
||||
|
||||
Assert.Equal([0.0, 0.0, 0.25], observed.PublishedTimes);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue