Use reactive gameplay boot documents

This commit is contained in:
Meta Vens 2026-06-28 09:58:01 +01:00
commit 9304476435
2 changed files with 16 additions and 6 deletions

View file

@ -8189,7 +8189,10 @@ static void RequireClientTargetBootAuthority(string root)
"stateBoot.StateFileExists",
"AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot.StateFilePath, stateBoot.RuntimeId)",
".Aetheria()",
".LatestCatalog()",
".ReactiveCatalog()",
"runtimeCatalogDocument.Current",
".ReactiveSectorMap()",
"sectorMapDocument.Current",
"new ItemManager(",
"new AetheriaUnityLoadoutItemProjector(itemManager, runtimeCatalog)",
"ZoneRenderer.SetDroppedPickupItemProjector(loadoutItemProjector.CreateLoadoutItem)",
@ -14542,7 +14545,10 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
"AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory)",
"AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot.StateFilePath, stateBoot.RuntimeId)",
".Aetheria()",
".LatestCatalog()",
".ReactiveCatalog()",
"runtimeCatalogDocument.Current",
".ReactiveSectorMap()",
"sectorMapDocument.Current",
"new ItemManager(",
"new AetheriaUnityLoadoutItemProjector(itemManager, runtimeCatalog)",
"ZoneRenderer.SetDroppedPickupItemProjector(loadoutItemProjector.CreateLoadoutItem)",
@ -14896,8 +14902,10 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
var requiredGameplayBootSymbols = new[]
{
".LatestCatalog()",
".LatestSectorMap()",
".ReactiveCatalog()",
"runtimeCatalogDocument.Current",
".ReactiveSectorMap()",
"sectorMapDocument.Current",
"AetheriaUnityObservedRunProjection.Project(",
"sectorMap.IsTutorial",
"sectorMap.GenerationSeed",

View file

@ -36,10 +36,12 @@ public sealed class AetheriaUnityGameplayBootShell
var aetheria = AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot.StateFilePath, stateBoot.RuntimeId)
.Aetheria();
var runtimeCatalog = aetheria.LatestCatalog();
using var runtimeCatalogDocument = aetheria.ReactiveCatalog();
var runtimeCatalog = runtimeCatalogDocument.Current;
if (runtimeCatalog == null)
throw new InvalidOperationException("Aetheria typed runtime catalog is required before gameplay boot.");
var sectorMap = aetheria.LatestSectorMap();
using var sectorMapDocument = aetheria.ReactiveSectorMap();
var sectorMap = sectorMapDocument.Current;
if (sectorMap == null)
throw new InvalidOperationException("Aetheria typed sector map is required before gameplay boot.");