Add named map and zone document access
This commit is contained in:
parent
6f666fd6cf
commit
c2ef01f8b4
11 changed files with 179 additions and 52 deletions
|
|
@ -2457,7 +2457,7 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"foreach (var beltPose in _daemonAsteroidBeltPoses)",
|
||||
"beltPose.InstancePoses ?? Array.Empty<AetheriaRuntimeZoneRenderAsteroidInstancePose>()",
|
||||
"private void RefreshDaemonContactRows()",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>(\"unity-zone-renderer\")",
|
||||
".ReactiveZoneContacts(\"unity-zone-renderer\")",
|
||||
"private void RefreshDaemonCompassMarkers()",
|
||||
"private void RefreshDaemonVisibleEntityInstances()",
|
||||
"PowerPulse(",
|
||||
|
|
@ -4575,7 +4575,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"zoneFacts.Bodies",
|
||||
"zoneFacts.Entities",
|
||||
"AetheriaUnityRuntimeClientProvider",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")",
|
||||
".ReactiveSectorMap(\"unity-sector-renderer\")",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex, \"unity-sector-renderer\")",
|
||||
"_zoneDetails?.Current",
|
||||
"AetheriaRuntimeZoneDetailsSurfaceCommands.TryRead(request, out var command)",
|
||||
|
|
@ -4598,7 +4598,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMap",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")",
|
||||
".ReactiveSectorMap(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -4606,7 +4606,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCurrentZoneDocument",
|
||||
"_currentZone",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>(\"unity-sector-renderer\")",
|
||||
".ReactiveCurrentZone(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeCurrentZoneSession",
|
||||
".ObserveZone()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7686,7 +7686,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
var requiredObservedTargetSymbols = new[]
|
||||
{
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> _zoneContacts",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>(\"unity-observed-target-query\")",
|
||||
".ReactiveZoneContacts(\"unity-observed-target-query\")",
|
||||
"_zoneContacts?.Dispose()",
|
||||
"_zoneContacts?.Current"
|
||||
};
|
||||
|
|
@ -7816,7 +7816,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MainMenu",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMap",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(",
|
||||
".ReactiveSectorMap(",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7832,7 +7832,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MainMenu",
|
||||
"AetheriaRuntimeVerseHostSettingsDocument",
|
||||
"_verseHostSettings",
|
||||
".Reactive<AetheriaRuntimeVerseHostSettingsDocument>(",
|
||||
".ReactiveVerseHostSettings(",
|
||||
"AetheriaRuntimeVerseHostSettingsSession",
|
||||
".ObserveVerseHost()");
|
||||
|
||||
|
|
@ -7969,8 +7969,8 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
missingSectorRendererSharedDocumentSymbols = missingSectorRendererSharedDocumentSymbols
|
||||
.Concat(new[]
|
||||
{
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>(\"unity-sector-renderer\")",
|
||||
".ReactiveSectorMap(\"unity-sector-renderer\")",
|
||||
".ReactiveCurrentZone(\"unity-sector-renderer\")",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex,\"unity-sector-renderer\")"
|
||||
}.Where(symbol => !compactSectorRenderer.Contains(symbol, StringComparison.Ordinal)))
|
||||
.ToArray();
|
||||
|
|
@ -7986,7 +7986,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMap",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")",
|
||||
".ReactiveSectorMap(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7994,7 +7994,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCurrentZoneDocument",
|
||||
"_currentZone",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>(\"unity-sector-renderer\")",
|
||||
".ReactiveCurrentZone(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeCurrentZoneSession",
|
||||
".ObserveZone()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -8049,7 +8049,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
var requiredZoneRendererSharedDocumentSymbols = new[]
|
||||
{
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> _zoneContacts",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>(\"unity-zone-renderer\")",
|
||||
".ReactiveZoneContacts(\"unity-zone-renderer\")",
|
||||
"_zoneContacts?.Dispose()",
|
||||
"_zoneContacts?.Current",
|
||||
"private void OnDestroy()"
|
||||
|
|
@ -8069,7 +8069,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"ZoneRenderer",
|
||||
"AetheriaRuntimeZoneContactsDocument",
|
||||
"_zoneContacts",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>(\"unity-zone-renderer\")",
|
||||
".ReactiveZoneContacts(\"unity-zone-renderer\")",
|
||||
"AetheriaRuntimeZoneContactsSession",
|
||||
"ResolveClient().State.ObserveZoneContacts()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -8096,7 +8096,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
string.Join(", ", zoneRendererRawDocumentHits));
|
||||
}
|
||||
|
||||
Console.WriteLine("Shared document accessors: Unity shared catalog/settings reads use generic managed typed documents");
|
||||
Console.WriteLine("Shared document accessors: Unity shared runtime reads use named managed typed documents");
|
||||
}
|
||||
|
||||
static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
||||
|
|
@ -8269,7 +8269,7 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
|||
"AetheriaRuntimeObjectsViewportSession",
|
||||
".ObserveObjects(viewportBounds)");
|
||||
|
||||
Console.WriteLine("Viewport and map document accessors: Unity reads map, contact, viewport, and current-entity state through managed typed document access");
|
||||
Console.WriteLine("Viewport and map document accessors: Unity reads fixed map/contact state through named documents and viewport state through managed typed document access");
|
||||
}
|
||||
|
||||
static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root)
|
||||
|
|
@ -8329,6 +8329,16 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root
|
|||
"public CultMeshReactiveDocument<AetheriaRuntimeDaemonSoaViewDocument> ReactiveDaemonSoaView()",
|
||||
"public CultMeshDocumentHandle<AetheriaRuntimeZoneRenderDocument> ZoneRenderDocument()",
|
||||
"public CultMeshReactiveDocument<AetheriaRuntimeZoneRenderDocument> ReactiveZoneRender()",
|
||||
"public CultMeshDocumentHandle<AetheriaRuntimeLoadoutTemplatesDocument> LoadoutTemplatesDocument()",
|
||||
"public CultMeshReactiveDocument<AetheriaRuntimeLoadoutTemplatesDocument> ReactiveLoadoutTemplates()",
|
||||
"public CultMeshDocumentHandle<AetheriaRuntimeSectorMapDocument> SectorMapDocument()",
|
||||
"public CultMeshReactiveDocument<AetheriaRuntimeSectorMapDocument> ReactiveSectorMap()",
|
||||
"public CultMeshDocumentHandle<AetheriaRuntimeCurrentZoneDocument> CurrentZoneDocument()",
|
||||
"public CultMeshReactiveDocument<AetheriaRuntimeCurrentZoneDocument> ReactiveCurrentZone()",
|
||||
"public CultMeshDocumentHandle<AetheriaRuntimeZoneContactsDocument> ZoneContactsDocument()",
|
||||
"public CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> ReactiveZoneContacts()",
|
||||
"public CultMeshDocumentHandle<AetheriaRuntimeVerseHostSettingsDocument> VerseHostSettingsDocument()",
|
||||
"public CultMeshReactiveDocument<AetheriaRuntimeVerseHostSettingsDocument> ReactiveVerseHostSettings()",
|
||||
"public CultMeshDocumentHandle<AetheriaRuntimeCurrentDockingDocument> CurrentDocking()",
|
||||
"public CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> ReactiveCurrentDocking()",
|
||||
"public CultMeshDocumentHandle<AetheriaRuntimeCurrentEntityDocument> CurrentEntityDocument()",
|
||||
|
|
@ -8379,15 +8389,12 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root
|
|||
"ReactiveCatalogAsync(",
|
||||
"LatestLoadoutTemplates(",
|
||||
"LatestLoadoutTemplatesAsync(",
|
||||
"ReactiveLoadoutTemplates(",
|
||||
"ReactiveLoadoutTemplatesAsync(",
|
||||
"LatestSectorMap(",
|
||||
"LatestSectorMapAsync(",
|
||||
"ReactiveSectorMap(",
|
||||
"ReactiveSectorMapAsync(",
|
||||
"LatestZoneContacts(",
|
||||
"LatestZoneContactsAsync(",
|
||||
"ReactiveZoneContacts(",
|
||||
"ReactiveZoneContactsAsync(",
|
||||
"LatestStationRefit(",
|
||||
"LatestStationRefitAsync(",
|
||||
|
|
@ -8747,7 +8754,7 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root
|
|||
"Starbridge player-seat examples must use generic parameterized managed document access instead of named wrappers or raw handle walks.");
|
||||
}
|
||||
|
||||
Console.WriteLine("Domain document accessors: managed Aetheria state uses generic fixed-document reads plus generic parameterized viewport/detail/Starbridge/Eve-surface access");
|
||||
Console.WriteLine("Domain document accessors: managed Aetheria state exposes named fixed-document reads plus parameterized viewport/detail/Starbridge/Eve-surface access");
|
||||
}
|
||||
|
||||
static void RequireVerseHostSettingsAuthority(string root)
|
||||
|
|
@ -9306,7 +9313,7 @@ static void RequireClientTargetBootAuthority(string root)
|
|||
"AetheriaUnityRuntimeClientProvider.RuntimeState(stateBoot, stateBoot.RuntimeId)",
|
||||
".ReactiveCatalogSnapshot()",
|
||||
"runtimeCatalogDocument.Current",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".ReactiveSectorMap()",
|
||||
"sectorMapDocument.Current",
|
||||
"new ItemManager(",
|
||||
"new AetheriaUnityLoadoutItemFactory(itemManager, runtimeCatalog)",
|
||||
|
|
@ -9365,7 +9372,7 @@ static void RequireClientTargetBootAuthority(string root)
|
|||
"CurrentStateBoot()",
|
||||
"ResolveSectorMap(AetheriaRuntimeStateBootReport stateBoot)",
|
||||
"AetheriaUnityRuntimeClientProvider",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(",
|
||||
".ReactiveSectorMap(",
|
||||
"PrepareDocumentAccess(stateBoot)",
|
||||
"ResolveVerseHostSettings(AetheriaRuntimeStateBootReport stateBoot)",
|
||||
"AetheriaState.At(AetheriaUnityRuntimePaths.GameDataDirectory)",
|
||||
|
|
@ -12048,7 +12055,7 @@ static void RequireAetheriaRuntimeVerseClientContract(string root)
|
|||
"CultMeshReactiveDocument<AetheriaRuntimeDaemonFrameDocument>? managedDaemonFrame = null;",
|
||||
"managedDaemonFrame = state.ReactiveDaemonFrame();",
|
||||
"managedCatalog = state.ReactiveCatalogSnapshot();",
|
||||
"managedLoadoutTemplates = state.Reactive<AetheriaRuntimeLoadoutTemplatesDocument>();",
|
||||
"managedLoadoutTemplates = state.ReactiveLoadoutTemplates();",
|
||||
"managedStarbridgeScenario = state.Reactive<AetheriaRuntimeStarbridgeScenarioDocument>();",
|
||||
"managedStarbridgeSession = state.Reactive<AetheriaRuntimeStarbridgeSessionDocument>();",
|
||||
"AetheriaRuntimeDaemonFrameDocument RequireManagedFrame()",
|
||||
|
|
@ -13000,7 +13007,7 @@ static void RequireMainMenuVerseHostDocumentAccess(string root)
|
|||
var requiredMainMenuSymbols = new[]
|
||||
{
|
||||
"ResolveVerseHostSettings(AetheriaRuntimeStateBootReport stateBoot)",
|
||||
".Reactive<AetheriaRuntimeVerseHostSettingsDocument>(",
|
||||
".ReactiveVerseHostSettings(",
|
||||
"AetheriaRuntimeClientTargetSurfaceBuilder.Build(",
|
||||
"AetheriaRuntimeMainMenuSurfaceBuilder.BuildRoot("
|
||||
};
|
||||
|
|
@ -13174,7 +13181,7 @@ static void RequireMainMenuContinueRunState(string root)
|
|||
{
|
||||
"ResolveSectorMap",
|
||||
"AetheriaUnityRuntimeClientProvider",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(",
|
||||
".ReactiveSectorMap(",
|
||||
"PrepareDocumentAccess(stateBoot)",
|
||||
"ContinueGame()",
|
||||
"SceneManager.LoadScene(\"ARPG\")"
|
||||
|
|
@ -13509,7 +13516,7 @@ static void RequireMainMenuContinueRunState(string root)
|
|||
"private bool TryQueryEntityTarget(",
|
||||
"AetheriaRuntimeZoneContactRow",
|
||||
"AetheriaRuntimeZoneTargetRow",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>(\"unity-observed-target-query\")",
|
||||
".ReactiveZoneContacts(\"unity-observed-target-query\")",
|
||||
"_zoneContacts?.Current",
|
||||
"_zoneContacts?.Dispose()",
|
||||
"_entityIndex.TryResolveEntityByDaemonIndex(targetEntityIndex, out var targetEntity)"
|
||||
|
|
@ -14592,7 +14599,7 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
"private bool TryQueryEntityTarget(",
|
||||
"AetheriaRuntimeZoneContactRow",
|
||||
"AetheriaRuntimeZoneTargetRow",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>(\"unity-observed-target-query\")",
|
||||
".ReactiveZoneContacts(\"unity-observed-target-query\")",
|
||||
"_zoneContacts?.Current",
|
||||
"_zoneContacts?.Dispose()",
|
||||
"_entityIndex.TryResolveEntityByDaemonIndex(targetEntityIndex, out var targetEntity)"
|
||||
|
|
@ -14735,13 +14742,13 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
!compactMapRenderer.Contains(".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport,\"unity-map-renderer\")", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".ReactivePlayerSettingsDocument(\"unity-map-renderer\")", StringComparison.Ordinal) ||
|
||||
!sectorRenderer.Contains("AetheriaUnityRuntimeClientProvider", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".ReactiveSectorMap(\"unity-sector-renderer\")", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex,\"unity-sector-renderer\")", StringComparison.Ordinal) ||
|
||||
!sectorRenderer.Contains(".Current", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".ReactiveCatalogSnapshot(\"unity-sector-renderer\")", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".ReactivePlayerSettingsDocument(\"unity-sector-renderer\")", StringComparison.Ordinal) ||
|
||||
!sectorMap.Contains("AetheriaUnityRuntimeClientProvider", StringComparison.Ordinal) ||
|
||||
!compactSectorMap.Contains(".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-map\")", StringComparison.Ordinal) ||
|
||||
!compactSectorMap.Contains(".ReactiveSectorMap(\"unity-sector-map\")", StringComparison.Ordinal) ||
|
||||
!sectorRenderer.Contains("AetheriaRuntimeZoneDetailsSurfaceBuilder.Facts(", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
|
|
@ -14760,7 +14767,7 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
"SectorMap",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMapDocument",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-map\")",
|
||||
".ReactiveSectorMap(\"unity-sector-map\")",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
|
||||
|
|
@ -15401,7 +15408,7 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
"ResolveSectorMap(stateBoot)",
|
||||
"AetheriaUnityRuntimeClientProvider",
|
||||
"PrepareDocumentAccess(stateBoot)",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(",
|
||||
".ReactiveSectorMap(",
|
||||
"sectorMap.FrameId",
|
||||
"SceneManager.LoadScene(\"ARPG\")"
|
||||
};
|
||||
|
|
@ -16304,7 +16311,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
"AetheriaUnityRuntimeClientProvider.RuntimeState(stateBoot, stateBoot.RuntimeId)",
|
||||
".ReactiveCatalogSnapshot()",
|
||||
"runtimeCatalogDocument.Current",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".ReactiveSectorMap()",
|
||||
"sectorMapDocument.Current",
|
||||
"new ItemManager(",
|
||||
"new AetheriaUnityLoadoutItemFactory(itemManager, runtimeCatalog)",
|
||||
|
|
@ -16357,6 +16364,11 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
"public static CultMeshReactiveDocument<AetheriaRuntimeDaemonFrameDocument> ReactiveDaemonFrame(",
|
||||
"public static CultMeshReactiveDocument<AetheriaRuntimeDaemonSoaViewDocument> ReactiveDaemonSoaView(",
|
||||
"public static CultMeshReactiveDocument<AetheriaRuntimeZoneRenderDocument> ReactiveZoneRender(",
|
||||
"public static CultMeshReactiveDocument<AetheriaRuntimeLoadoutTemplatesDocument> ReactiveLoadoutTemplates(",
|
||||
"public static CultMeshReactiveDocument<AetheriaRuntimeSectorMapDocument> ReactiveSectorMap(",
|
||||
"public static CultMeshReactiveDocument<AetheriaRuntimeCurrentZoneDocument> ReactiveCurrentZone(",
|
||||
"public static CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> ReactiveZoneContacts(",
|
||||
"public static CultMeshReactiveDocument<AetheriaRuntimeVerseHostSettingsDocument> ReactiveVerseHostSettings(",
|
||||
"public static CultMeshReactiveDocument<TDocument> Reactive<TDocument>(",
|
||||
"AetheriaClientEveSurface surface",
|
||||
"public static CultMeshReactiveDocument<global::Aetheria.State.Documents.EveSurfaceState> ReactiveEveSurface(",
|
||||
|
|
@ -16845,7 +16857,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
if (!mainMenu.Contains("AetheriaUnityRuntimeClientProvider", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains("ResolveSectorMap(AetheriaRuntimeStateBootReport stateBoot)", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains("PrepareDocumentAccess(stateBoot)", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains(".Reactive<AetheriaRuntimeSectorMapDocument>(", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains(".ReactiveSectorMap(", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains(".ReactivePlayerSettingsDocument(", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
|
|
@ -16875,7 +16887,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
{
|
||||
".ReactiveCatalogSnapshot()",
|
||||
"runtimeCatalogDocument.Current",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".ReactiveSectorMap()",
|
||||
"sectorMapDocument.Current",
|
||||
"Galaxy.ProjectObservedSectorMap(",
|
||||
"sectorMap.IsTutorial",
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public sealed class AetheriaUnityGameplayBootShell
|
|||
var runtimeCatalog = runtimeCatalogDocument.Current;
|
||||
if (runtimeCatalog == null)
|
||||
throw new InvalidOperationException("Aetheria typed runtime catalog is required before gameplay boot.");
|
||||
using var sectorMapDocument = runtimeState.Reactive<AetheriaRuntimeSectorMapDocument>();
|
||||
using var sectorMapDocument = runtimeState.ReactiveSectorMap();
|
||||
var sectorMap = sectorMapDocument.Current;
|
||||
if (sectorMap == null)
|
||||
throw new InvalidOperationException("Aetheria typed sector map is required before gameplay boot.");
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public sealed class AetheriaUnityObservedTargetQuery : IDisposable
|
|||
try
|
||||
{
|
||||
_zoneContacts = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeZoneContactsDocument>("unity-observed-target-query");
|
||||
.ReactiveZoneContacts("unity-observed-target-query");
|
||||
return _zoneContacts?.Current;
|
||||
}
|
||||
catch
|
||||
|
|
|
|||
|
|
@ -215,6 +215,71 @@ public static class AetheriaUnityRuntimeClientProvider
|
|||
return RuntimeState(stateBoot, runtimeId).ReactiveZoneRender();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeLoadoutTemplatesDocument> ReactiveLoadoutTemplates(
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(runtimeId).ReactiveLoadoutTemplates();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeLoadoutTemplatesDocument> ReactiveLoadoutTemplates(
|
||||
AetheriaRuntimeStateBootReport stateBoot,
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(stateBoot, runtimeId).ReactiveLoadoutTemplates();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeSectorMapDocument> ReactiveSectorMap(
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(runtimeId).ReactiveSectorMap();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeSectorMapDocument> ReactiveSectorMap(
|
||||
AetheriaRuntimeStateBootReport stateBoot,
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(stateBoot, runtimeId).ReactiveSectorMap();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeCurrentZoneDocument> ReactiveCurrentZone(
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(runtimeId).ReactiveCurrentZone();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeCurrentZoneDocument> ReactiveCurrentZone(
|
||||
AetheriaRuntimeStateBootReport stateBoot,
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(stateBoot, runtimeId).ReactiveCurrentZone();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> ReactiveZoneContacts(
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(runtimeId).ReactiveZoneContacts();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> ReactiveZoneContacts(
|
||||
AetheriaRuntimeStateBootReport stateBoot,
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(stateBoot, runtimeId).ReactiveZoneContacts();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeVerseHostSettingsDocument> ReactiveVerseHostSettings(
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(runtimeId).ReactiveVerseHostSettings();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<AetheriaRuntimeVerseHostSettingsDocument> ReactiveVerseHostSettings(
|
||||
AetheriaRuntimeStateBootReport stateBoot,
|
||||
string runtimeId = "")
|
||||
{
|
||||
return RuntimeState(stateBoot, runtimeId).ReactiveVerseHostSettings();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<TDocument> Reactive<TDocument>(
|
||||
AetheriaRuntimeStateBootReport stateBoot,
|
||||
string runtimeId = "")
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ public class DaemonRuntimeDocumentTests
|
|||
var latestFrame = ReadLatest(client.State.DaemonFrameDocument());
|
||||
var catalog = ReadLatest(client.State.Document<AetheriaRuntimeCatalogSnapshot>());
|
||||
var playerSettings = ReadLatest(client.State.Document<AetheriaRuntimePlayerSettingsDocument>());
|
||||
var verseHostSettings = ReadLatest(client.State.Document<AetheriaRuntimeVerseHostSettingsDocument>());
|
||||
var verseHostSettings = ReadLatest(client.State.VerseHostSettingsDocument());
|
||||
var currentEntityByType = client.State
|
||||
.Document<AetheriaRuntimeCurrentEntityDocument>()
|
||||
.LatestAsync()
|
||||
|
|
@ -211,12 +211,12 @@ public class DaemonRuntimeDocumentTests
|
|||
daemonSoaViewReactive,
|
||||
zoneRenderReactive,
|
||||
out var observed));
|
||||
using var loadoutTemplatesReactive = client.State.Reactive<AetheriaRuntimeLoadoutTemplatesDocument>();
|
||||
using var sectorMapReactive = client.State.Reactive<AetheriaRuntimeSectorMapDocument>();
|
||||
using var loadoutTemplatesReactive = client.State.ReactiveLoadoutTemplates();
|
||||
using var sectorMapReactive = client.State.ReactiveSectorMap();
|
||||
using var playerSettingsReactive = client.State.ReactivePlayerSettingsDocument();
|
||||
using var verseHostSettingsReactive = client.State.Reactive<AetheriaRuntimeVerseHostSettingsDocument>();
|
||||
using var zoneContactsReactive = client.State.Reactive<AetheriaRuntimeZoneContactsDocument>();
|
||||
using var currentZoneReactive = client.State.Reactive<AetheriaRuntimeCurrentZoneDocument>();
|
||||
using var verseHostSettingsReactive = client.State.ReactiveVerseHostSettings();
|
||||
using var zoneContactsReactive = client.State.ReactiveZoneContacts();
|
||||
using var currentZoneReactive = client.State.ReactiveCurrentZone();
|
||||
using var currentEntityDocumentReactive = client.State.ReactiveCurrentEntity();
|
||||
using var currentDockingReactive = client.State.ReactiveCurrentDocking();
|
||||
using var stationRefitReactive = client.State.ReactiveStationRefit();
|
||||
|
|
@ -270,9 +270,9 @@ public class DaemonRuntimeDocumentTests
|
|||
Assert.AreEqual(currentDocking.CurrentEntityKey, currentDockingReactive.Current.CurrentEntityKey);
|
||||
Assert.AreEqual(stationRefit.StationEntityKey, stationRefitReactive.Current.StationEntityKey);
|
||||
Assert.AreSame(client.State.PlayerSettings, client.State.Document<AetheriaRuntimePlayerSettingsDocument>());
|
||||
Assert.AreSame(client.State.VerseHostSettings, client.State.Document<AetheriaRuntimeVerseHostSettingsDocument>());
|
||||
Assert.AreSame(client.State.VerseHostSettings, client.State.VerseHostSettingsDocument());
|
||||
Assert.AreSame(client.State.CurrentEntity, client.State.Document<AetheriaRuntimeCurrentEntityDocument>());
|
||||
Assert.AreSame(client.State.ZoneContacts, client.State.Document<AetheriaRuntimeZoneContactsDocument>());
|
||||
Assert.AreSame(client.State.ZoneContacts, client.State.ZoneContactsDocument());
|
||||
Assert.AreEqual(
|
||||
typeof(AetheriaRuntimeCurrentEntityDocument),
|
||||
client.State.Document<AetheriaRuntimeCurrentEntityDocument>().DocumentType);
|
||||
|
|
@ -362,7 +362,7 @@ public class DaemonRuntimeDocumentTests
|
|||
.GetResult();
|
||||
|
||||
var player = ReadLatest(client.State.Document<AetheriaRuntimePlayerSettingsDocument>());
|
||||
var verseHost = ReadLatest(client.State.Document<AetheriaRuntimeVerseHostSettingsDocument>());
|
||||
var verseHost = ReadLatest(client.State.VerseHostSettingsDocument());
|
||||
var catalog = ReadLatest(client.State.Document<AetheriaRuntimeCatalogSnapshot>());
|
||||
|
||||
Assert.AreEqual(AetheriaRuntimeCatalogSnapshot.SchemaId, client.State.Catalog.Sources.Last().SchemaId);
|
||||
|
|
@ -372,7 +372,7 @@ public class DaemonRuntimeDocumentTests
|
|||
Assert.AreEqual("", player.PlayerName);
|
||||
Assert.AreEqual("", verseHost.VerseId);
|
||||
Assert.AreSame(client.State.PlayerSettings, client.State.Document<AetheriaRuntimePlayerSettingsDocument>());
|
||||
Assert.AreSame(client.State.VerseHostSettings, client.State.Document<AetheriaRuntimeVerseHostSettingsDocument>());
|
||||
Assert.AreSame(client.State.VerseHostSettings, client.State.VerseHostSettingsDocument());
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ public class MainMenu : MonoBehaviour
|
|||
{
|
||||
PrepareDocumentAccess(stateBoot);
|
||||
_sectorMap ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeSectorMapDocument>(stateBoot, "unity-main-menu");
|
||||
.ReactiveSectorMap(stateBoot, "unity-main-menu");
|
||||
return _sectorMap?.Current;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -189,7 +189,7 @@ public class MainMenu : MonoBehaviour
|
|||
{
|
||||
PrepareDocumentAccess(stateBoot);
|
||||
_verseHostSettings ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeVerseHostSettingsDocument>(stateBoot, "unity-main-menu");
|
||||
.ReactiveVerseHostSettings(stateBoot, "unity-main-menu");
|
||||
return _verseHostSettings?.Current;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ public class SectorMap : MonoBehaviour
|
|||
private void EnsureSectorMapLoaded()
|
||||
{
|
||||
_sectorMapDocument ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeSectorMapDocument>("unity-sector-map");
|
||||
.ReactiveSectorMap("unity-sector-map");
|
||||
_sectorMap = _sectorMapDocument?.Current;
|
||||
|
||||
if (_sectorMapLoaded)
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
try
|
||||
{
|
||||
_sectorMap ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeSectorMapDocument>("unity-sector-renderer");
|
||||
.ReactiveSectorMap("unity-sector-renderer");
|
||||
var sectorMap = _sectorMap?.Current;
|
||||
return (sectorMap?.Zones ?? Array.Empty<AetheriaRuntimeSectorMapZone>())
|
||||
.FirstOrDefault(zone => zone.ZoneIndex == zoneIndex);
|
||||
|
|
@ -301,7 +301,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
try
|
||||
{
|
||||
_currentZone ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCurrentZoneDocument>("unity-sector-renderer");
|
||||
.ReactiveCurrentZone("unity-sector-renderer");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1226,7 +1226,7 @@ public class ZoneRenderer : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_zoneContacts = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeZoneContactsDocument>("unity-zone-renderer");
|
||||
.ReactiveZoneContacts("unity-zone-renderer");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -223,6 +223,56 @@ namespace GameCult.Aetheria.State.Verse
|
|||
return ZoneRenderDocument().Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<AetheriaRuntimeLoadoutTemplatesDocument> LoadoutTemplatesDocument()
|
||||
{
|
||||
return LoadoutTemplates;
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<AetheriaRuntimeLoadoutTemplatesDocument> ReactiveLoadoutTemplates()
|
||||
{
|
||||
return LoadoutTemplatesDocument().Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<AetheriaRuntimeSectorMapDocument> SectorMapDocument()
|
||||
{
|
||||
return SectorMap;
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<AetheriaRuntimeSectorMapDocument> ReactiveSectorMap()
|
||||
{
|
||||
return SectorMapDocument().Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<AetheriaRuntimeCurrentZoneDocument> CurrentZoneDocument()
|
||||
{
|
||||
return CurrentZone;
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<AetheriaRuntimeCurrentZoneDocument> ReactiveCurrentZone()
|
||||
{
|
||||
return CurrentZoneDocument().Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<AetheriaRuntimeZoneContactsDocument> ZoneContactsDocument()
|
||||
{
|
||||
return ZoneContacts;
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> ReactiveZoneContacts()
|
||||
{
|
||||
return ZoneContactsDocument().Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<AetheriaRuntimeVerseHostSettingsDocument> VerseHostSettingsDocument()
|
||||
{
|
||||
return VerseHostSettings;
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<AetheriaRuntimeVerseHostSettingsDocument> ReactiveVerseHostSettings()
|
||||
{
|
||||
return VerseHostSettingsDocument().Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<AetheriaRuntimeCurrentDockingDocument> CurrentDocking()
|
||||
{
|
||||
return CurrentDockingDocument;
|
||||
|
|
|
|||
|
|
@ -499,7 +499,7 @@ namespace GameCult.Aetheria.State.Verse
|
|||
|
||||
managedDaemonFrame = state.ReactiveDaemonFrame();
|
||||
managedCatalog = state.ReactiveCatalogSnapshot();
|
||||
managedLoadoutTemplates = state.Reactive<AetheriaRuntimeLoadoutTemplatesDocument>();
|
||||
managedLoadoutTemplates = state.ReactiveLoadoutTemplates();
|
||||
managedStarbridgeScenario = state.Reactive<AetheriaRuntimeStarbridgeScenarioDocument>();
|
||||
managedStarbridgeSession = state.Reactive<AetheriaRuntimeStarbridgeSessionDocument>();
|
||||
_managedDaemonFrame = managedDaemonFrame;
|
||||
|
|
|
|||
Loading…
Reference in a new issue