Add native reactive client state access
This commit is contained in:
parent
e15eb1b22b
commit
296a0b6de8
26 changed files with 258 additions and 244 deletions
|
|
@ -2438,8 +2438,7 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"FindAnyObjectByType<AetheriaDaemonObserver>()",
|
||||
"ResolveObjectsViewport(viewport)",
|
||||
"private AetheriaRuntimeObjectsViewportDocument ResolveObjectsViewport(AetheriaRuntimeXzRect viewport)",
|
||||
".Document<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)",
|
||||
".Reactive();",
|
||||
".State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)",
|
||||
"_objectsViewport?.Current",
|
||||
"foreach (var entity in objects?.Objects ?? Array.Empty<AetheriaRuntimeRtsViewportObject>())",
|
||||
"_observedEntitySnapshotsByDaemonIndex.TryGetValue(entityIndex, out var entity)",
|
||||
|
|
@ -2458,7 +2457,7 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"beltPose.InstancePoses ?? Array.Empty<AetheriaRuntimeZoneRenderAsteroidInstancePose>()",
|
||||
"private void RefreshDaemonContactRows()",
|
||||
".State",
|
||||
".Document<AetheriaRuntimeZoneContactsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>()",
|
||||
"private void RefreshDaemonCompassMarkers()",
|
||||
"private void RefreshDaemonVisibleEntityInstances()",
|
||||
"PowerPulse(",
|
||||
|
|
@ -2567,9 +2566,9 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"ResolveCatalog()",
|
||||
"ResolveCurrentEntityHudStatus()",
|
||||
"AetheriaUnityRuntimeClientProvider.ResolveClient(",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"ResolveClient().State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCurrentEntityDocument>()",
|
||||
"return _currentEntity?.Current?.Hud ?? new AetheriaRuntimeCurrentEntityHudStatus();",
|
||||
"_currentEntity?.Dispose()",
|
||||
"hud.OverrideShutdown",
|
||||
|
|
@ -3219,10 +3218,10 @@ static void RequireEveRuntimeBootstrap(string root)
|
|||
"AetheriaUnityRuntimeClientProvider.ResolveClient(",
|
||||
"CultMeshReactiveDocument<global::Aetheria.State.Documents.EveSurfaceState>",
|
||||
"ResolveReactiveDaemonSurfaceState(",
|
||||
"client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game).Reactive()",
|
||||
"client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui).Reactive()",
|
||||
"client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor).Reactive()",
|
||||
"client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.EditorTui).Reactive()",
|
||||
"client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game)",
|
||||
"client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui)",
|
||||
"client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor)",
|
||||
"client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.EditorTui)",
|
||||
"DisposeReactiveSurfaceState()",
|
||||
"AetheriaRuntimeEveSurfaceAdapter.ToEveSurfaceDocument(",
|
||||
"private bool ShouldMountSurface(",
|
||||
|
|
@ -4251,7 +4250,7 @@ static void RequireRuntimeInputScreenUsesEveSurface(string root)
|
|||
"InputDisplayLayout",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -4559,9 +4558,8 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"ProjectZoneDetailsSurfaceState(",
|
||||
"AetheriaUnityRuntimeClientProvider.ResolveClient(",
|
||||
".State",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Document<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)",
|
||||
".Reactive();",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".State.Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)",
|
||||
"_zoneDetails?.Current",
|
||||
"AetheriaClient",
|
||||
"AetheriaRuntimeZoneDetailsSurfaceCommands.TryRead(request, out var command)",
|
||||
|
|
@ -4584,7 +4582,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMap",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -4592,7 +4590,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCurrentZoneDocument",
|
||||
"_currentZone",
|
||||
".Document<AetheriaRuntimeCurrentZoneDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>()",
|
||||
"AetheriaRuntimeCurrentZoneSession",
|
||||
".ObserveZone()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -4600,7 +4598,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeZoneDetailsDocument",
|
||||
"_zoneDetails",
|
||||
".Document<AetheriaRuntimeZoneDetailsDocument>(zoneIndex).Reactive()",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)",
|
||||
"AetheriaRuntimeZoneDetailsSession",
|
||||
".ObserveZone(zoneIndex)");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -4608,7 +4606,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -4616,7 +4614,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -4777,7 +4775,7 @@ static void RequireRuntimeMenuTabsUseEveSurface(string root)
|
|||
"SetObservedEntityIndex(AetheriaUnityObservedEntityIndex observedEntityIndex)",
|
||||
"AetheriaRuntimeCurrentDockingDocument",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking",
|
||||
"_currentDocking ??= ResolveClient().State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive()",
|
||||
"_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>()",
|
||||
"docking = _currentDocking.Current",
|
||||
"docking.IsDocked",
|
||||
"AetheriaClient",
|
||||
|
|
@ -5741,10 +5739,10 @@ static void RequireTradeCargoSelectorUseEveSurface(string root)
|
|||
"SetObservedEntityIndex(AetheriaUnityObservedEntityIndex observedEntityIndex)",
|
||||
"AetheriaRuntimeCurrentDockingDocument",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking",
|
||||
"_currentDocking ??= ResolveClient().State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive()",
|
||||
"_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>()",
|
||||
"docking = _currentDocking.Current",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeStationRefitDocument> _stationRefit",
|
||||
"_stationRefit = ResolveClient().State.Document<AetheriaRuntimeStationRefitDocument>().Reactive()",
|
||||
"_stationRefit = ResolveClient().State.Reactive<AetheriaRuntimeStationRefitDocument>()",
|
||||
"return _stationRefit?.Current",
|
||||
"SetTargetCargo(",
|
||||
"selection.EntityKey",
|
||||
|
|
@ -7053,10 +7051,11 @@ static void RequireInventoryValidationUsesManagedTypedDocuments(string root)
|
|||
var clientState = File.ReadAllText(clientStatePath);
|
||||
if (!clientState.Contains("public CultMeshDocumentHandle<TDocument> Document<TDocument>()", StringComparison.Ordinal) ||
|
||||
!clientState.Contains("public CultMeshDocumentHandle<TDocument> Document<TDocument>(int entityOrZoneIndex)", StringComparison.Ordinal) ||
|
||||
clientState.Contains("public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(", StringComparison.Ordinal))
|
||||
!clientState.Contains("public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(", StringComparison.Ordinal) ||
|
||||
!clientState.Contains("public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(int entityOrZoneIndex)", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"AetheriaClientState must expose typed document handles for current entity, station refit, and indexed inventory documents while leaving reactivity to CultMesh handles.");
|
||||
"AetheriaClientState must expose native typed document handles and native reactive typed documents for current entity, station refit, and indexed inventory documents.");
|
||||
}
|
||||
|
||||
var sources = new Dictionary<string, string>
|
||||
|
|
@ -7079,9 +7078,9 @@ static void RequireInventoryValidationUsesManagedTypedDocuments(string root)
|
|||
.ToArray();
|
||||
var requiredCompactedSymbols = new[]
|
||||
{
|
||||
".Document<AetheriaRuntimeCurrentEntityDocument>().Reactive()",
|
||||
".Document<AetheriaRuntimeStationRefitDocument>().Reactive()",
|
||||
".Document<AetheriaRuntimeInventoryDocument>(entityIndex).Reactive()"
|
||||
".Reactive<AetheriaRuntimeCurrentEntityDocument>()",
|
||||
".Reactive<AetheriaRuntimeStationRefitDocument>()",
|
||||
".Reactive<AetheriaRuntimeInventoryDocument>(entityIndex)"
|
||||
};
|
||||
missingSymbols = missingSymbols
|
||||
.Concat(requiredCompactedSymbols.Where(symbol => !compact.Contains(symbol, StringComparison.Ordinal)))
|
||||
|
|
@ -7124,7 +7123,7 @@ static void RequireInventoryValidationUsesManagedTypedDocuments(string root)
|
|||
name,
|
||||
"AetheriaRuntimeCurrentEntityDocument",
|
||||
"_currentEntity",
|
||||
".Document<AetheriaRuntimeCurrentEntityDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeCurrentEntityDocument>()",
|
||||
"AetheriaRuntimeCurrentEntitySession",
|
||||
".ObserveEntity()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7132,7 +7131,7 @@ static void RequireInventoryValidationUsesManagedTypedDocuments(string root)
|
|||
name,
|
||||
"AetheriaRuntimeStationRefitDocument",
|
||||
"_stationRefit",
|
||||
".Document<AetheriaRuntimeStationRefitDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeStationRefitDocument>()",
|
||||
"AetheriaRuntimeStationRefitSession",
|
||||
".ObserveStationRefit()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7140,7 +7139,7 @@ static void RequireInventoryValidationUsesManagedTypedDocuments(string root)
|
|||
name,
|
||||
"AetheriaRuntimeInventoryDocument",
|
||||
"_inventory",
|
||||
".Document<AetheriaRuntimeInventoryDocument>(entityIndex).Reactive()",
|
||||
".Reactive<AetheriaRuntimeInventoryDocument>(entityIndex)",
|
||||
"AetheriaRuntimeInventorySession",
|
||||
".ObserveInventory(entityIndex)");
|
||||
}
|
||||
|
|
@ -7251,7 +7250,7 @@ static void RequireMenuDockingUsesManagedTypedSnapshot(string root)
|
|||
var tradeMenu = File.ReadAllText(Path.Combine(root, "Assets", "Scripts", "UI", "Menu", "TradeMenu.cs"));
|
||||
var directDockingOffenders = new List<string>();
|
||||
if (!menuPanel.Contains("CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking", StringComparison.Ordinal) ||
|
||||
!menuPanel.Contains("_currentDocking ??= ResolveClient().State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive()", StringComparison.Ordinal) ||
|
||||
!menuPanel.Contains("_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal) ||
|
||||
!menuPanel.Contains("docking = _currentDocking.Current", StringComparison.Ordinal) ||
|
||||
menuPanel.Contains("ResolveClient().State.Latest<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -7259,7 +7258,7 @@ static void RequireMenuDockingUsesManagedTypedSnapshot(string root)
|
|||
}
|
||||
|
||||
if (!tradeMenu.Contains("CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking", StringComparison.Ordinal) ||
|
||||
!tradeMenu.Contains("_currentDocking ??= ResolveClient().State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive()", StringComparison.Ordinal) ||
|
||||
!tradeMenu.Contains("_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal) ||
|
||||
!tradeMenu.Contains("docking = _currentDocking.Current", StringComparison.Ordinal) ||
|
||||
tradeMenu.Contains("ResolveClient().State.Latest<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -7280,7 +7279,7 @@ static bool HasManagedDockingSnapshotAccess(string source)
|
|||
{
|
||||
if (source.Contains("AetheriaRuntimeCurrentDockingDocument", StringComparison.Ordinal) &&
|
||||
source.Contains("CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking", StringComparison.Ordinal) &&
|
||||
source.Contains("State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive()", StringComparison.Ordinal) &&
|
||||
source.Contains("State.Reactive<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal) &&
|
||||
source.Contains("_currentDocking.Current", StringComparison.Ordinal) &&
|
||||
!source.Contains("ResolveClient().State.Latest<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -7309,9 +7308,9 @@ static bool HasManagedDockingSnapshotAccess(string source)
|
|||
source.Contains("CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking", StringComparison.Ordinal) &&
|
||||
source.Contains("CultMeshReactiveDocument<AetheriaRuntimeStationRefitDocument> _stationRefit", StringComparison.Ordinal) &&
|
||||
source.Contains("TryReadCurrentDockingDocuments(", StringComparison.Ordinal) &&
|
||||
source.Contains("state.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive()", StringComparison.Ordinal) &&
|
||||
source.Contains("state.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive()", StringComparison.Ordinal) &&
|
||||
source.Contains("state.Document<AetheriaRuntimeStationRefitDocument>().Reactive()", StringComparison.Ordinal) &&
|
||||
source.Contains("state.Reactive<AetheriaRuntimeCurrentEntityDocument>()", StringComparison.Ordinal) &&
|
||||
source.Contains("state.Reactive<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal) &&
|
||||
source.Contains("state.Reactive<AetheriaRuntimeStationRefitDocument>()", StringComparison.Ordinal) &&
|
||||
source.Contains("_currentDocking?.Current", StringComparison.Ordinal) &&
|
||||
source.Contains("_stationRefit?.Current", StringComparison.Ordinal) &&
|
||||
!source.Contains("State?.CurrentDocking()", StringComparison.Ordinal) &&
|
||||
|
|
@ -7353,11 +7352,10 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
if (clientState.Contains("public Task<TDocument> LatestAsync<TDocument>", StringComparison.Ordinal) ||
|
||||
clientState.Contains("public TDocument Latest<TDocument>", StringComparison.Ordinal) ||
|
||||
clientState.Contains("public Task<CultMeshReactiveDocument<TDocument>> ReactiveAsync<TDocument>", StringComparison.Ordinal) ||
|
||||
clientState.Contains("public CultMeshReactiveDocument<TDocument> Reactive<TDocument>", StringComparison.Ordinal) ||
|
||||
clientState.Contains("public Observable<TDocument> Watch<TDocument>", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"AetheriaClientState must not expose generic latest/reactive/watch shortcuts; callers should hold Document<TDocument>() handles and call CultMesh handle APIs.");
|
||||
"AetheriaClientState must not expose latest/watch/session wrappers; callers should hold native Document<TDocument>() handles or native Reactive<TDocument>() documents.");
|
||||
}
|
||||
|
||||
var unityPaths = new[]
|
||||
|
|
@ -7421,7 +7419,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
{
|
||||
"public abstract class ActionBarBinding : IDisposable",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot> _catalog",
|
||||
"Client.State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"Client.State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"_catalog?.Current?.FindItem(item, x => x.ItemKey)",
|
||||
"binding?.Dispose()",
|
||||
"private void OnDestroy()"
|
||||
|
|
@ -7461,9 +7459,9 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot> _catalog",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeCurrentEntityDocument> _currentEntity",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"ResolveClient().State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCurrentEntityDocument>()",
|
||||
"_catalog?.Dispose()",
|
||||
"_playerSettings?.Dispose()",
|
||||
"_currentEntity?.Dispose()",
|
||||
|
|
@ -7517,7 +7515,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
var requiredVolumeCloudSymbols = new[]
|
||||
{
|
||||
"CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"_playerSettings?.Dispose()",
|
||||
"_playerSettings?.Current"
|
||||
};
|
||||
|
|
@ -7547,7 +7545,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
var requiredObservedTargetSymbols = new[]
|
||||
{
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> _zoneContacts",
|
||||
".Document<AetheriaRuntimeZoneContactsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>()",
|
||||
"_zoneContacts?.Dispose()",
|
||||
"_zoneContacts?.Current"
|
||||
};
|
||||
|
|
@ -7593,8 +7591,8 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
missingMapRendererSharedDocumentSymbols = missingMapRendererSharedDocumentSymbols
|
||||
.Concat(new[]
|
||||
{
|
||||
".Document<AetheriaRuntimeObjectsViewportDocument>(viewport).Reactive()",
|
||||
".Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport).Reactive()"
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport)",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)"
|
||||
}.Where(symbol => !compactMapRenderer.Contains(symbol, StringComparison.Ordinal)))
|
||||
.ToArray();
|
||||
if (missingMapRendererSharedDocumentSymbols.Length > 0)
|
||||
|
|
@ -7609,7 +7607,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MapRenderer",
|
||||
"AetheriaRuntimeObjectsViewportDocument",
|
||||
"_objectsViewport",
|
||||
".Document<AetheriaRuntimeObjectsViewportDocument>(viewport).Reactive()",
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport)",
|
||||
"AetheriaRuntimeObjectsViewportSession",
|
||||
".ObserveObjects(viewport)");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7617,7 +7615,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MapRenderer",
|
||||
"AetheriaRuntimeRenderSplatsViewportDocument",
|
||||
"_renderSplatsViewport",
|
||||
".Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport).Reactive()",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)",
|
||||
"AetheriaRuntimeRenderSplatsViewportSession",
|
||||
".ObserveRenderSplats(viewport)");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7625,7 +7623,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MapRenderer",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -7677,7 +7675,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MainMenu",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMap",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7685,7 +7683,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MainMenu",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7693,7 +7691,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MainMenu",
|
||||
"AetheriaRuntimeVerseHostSettingsDocument",
|
||||
"_verseHostSettings",
|
||||
".Document<AetheriaRuntimeVerseHostSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeVerseHostSettingsDocument>()",
|
||||
"AetheriaRuntimeVerseHostSettingsSession",
|
||||
".ObserveVerseHost()");
|
||||
|
||||
|
|
@ -7720,7 +7718,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"TradeMenu",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7728,7 +7726,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"TradeMenu",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -7755,7 +7753,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"InventoryMenu",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7763,7 +7761,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"InventoryMenu",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -7793,7 +7791,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"InventoryPanel",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7801,7 +7799,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"InventoryPanel",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -7830,9 +7828,9 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
missingSectorRendererSharedDocumentSymbols = missingSectorRendererSharedDocumentSymbols
|
||||
.Concat(new[]
|
||||
{
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Document<AetheriaRuntimeCurrentZoneDocument>().Reactive()",
|
||||
".Document<AetheriaRuntimeZoneDetailsDocument>(zoneIndex).Reactive()"
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>()",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)"
|
||||
}.Where(symbol => !compactSectorRenderer.Contains(symbol, StringComparison.Ordinal)))
|
||||
.ToArray();
|
||||
if (missingSectorRendererSharedDocumentSymbols.Length > 0)
|
||||
|
|
@ -7847,7 +7845,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMap",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7855,7 +7853,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCurrentZoneDocument",
|
||||
"_currentZone",
|
||||
".Document<AetheriaRuntimeCurrentZoneDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>()",
|
||||
"AetheriaRuntimeCurrentZoneSession",
|
||||
".ObserveZone()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7863,7 +7861,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeZoneDetailsDocument",
|
||||
"_zoneDetails",
|
||||
".Document<AetheriaRuntimeZoneDetailsDocument>(zoneIndex).Reactive()",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)",
|
||||
"AetheriaRuntimeZoneDetailsSession",
|
||||
".ObserveZone(zoneIndex)");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7871,7 +7869,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7879,7 +7877,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -7910,7 +7908,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
var requiredZoneRendererSharedDocumentSymbols = new[]
|
||||
{
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> _zoneContacts",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeZoneContactsDocument>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeZoneContactsDocument>()",
|
||||
"_zoneContacts?.Dispose()",
|
||||
"_zoneContacts?.Current",
|
||||
"private void OnDestroy()"
|
||||
|
|
@ -7930,7 +7928,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"ZoneRenderer",
|
||||
"AetheriaRuntimeZoneContactsDocument",
|
||||
"_zoneContacts",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeZoneContactsDocument>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeZoneContactsDocument>()",
|
||||
"AetheriaRuntimeZoneContactsSession",
|
||||
"ResolveClient().State.ObserveZoneContacts()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7938,7 +7936,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"ZoneRenderer",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
|
||||
|
|
@ -8052,11 +8050,11 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
|||
.Where(symbol => !renderSplatViewportSource.Contains(symbol, StringComparison.Ordinal))
|
||||
.ToArray();
|
||||
if (!CompactSource(renderSplatViewportSource).Contains(
|
||||
".Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport).Reactive()",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)",
|
||||
StringComparison.Ordinal))
|
||||
{
|
||||
missingRenderSplatViewportSourceSymbols = missingRenderSplatViewportSourceSymbols
|
||||
.Concat(new[] { ".Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport).Reactive()" })
|
||||
.Concat(new[] { ".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)" })
|
||||
.ToArray();
|
||||
}
|
||||
if (missingRenderSplatViewportSourceSymbols.Length > 0 ||
|
||||
|
|
@ -8079,7 +8077,7 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
|||
"AetheriaUnityRenderSplatViewportSource",
|
||||
"AetheriaRuntimeRenderSplatsViewportDocument",
|
||||
"_renderSplatsViewport",
|
||||
".Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport).Reactive()",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)",
|
||||
"AetheriaRuntimeRenderSplatsViewportSession",
|
||||
".ObserveRenderSplats(viewport)");
|
||||
|
||||
|
|
@ -8099,11 +8097,11 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
|||
.Where(symbol => !zoneRenderer.Contains(symbol, StringComparison.Ordinal))
|
||||
.ToArray();
|
||||
if (!CompactSource(zoneRenderer).Contains(
|
||||
".Document<AetheriaRuntimeObjectsViewportDocument>(viewportBounds).Reactive()",
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)",
|
||||
StringComparison.Ordinal))
|
||||
{
|
||||
missingZoneRendererViewportSymbols = missingZoneRendererViewportSymbols
|
||||
.Concat(new[] { ".Document<AetheriaRuntimeObjectsViewportDocument>(viewportBounds).Reactive()" })
|
||||
.Concat(new[] { ".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)" })
|
||||
.ToArray();
|
||||
}
|
||||
if (missingZoneRendererViewportSymbols.Length > 0 ||
|
||||
|
|
@ -8126,7 +8124,7 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
|||
"ZoneRenderer",
|
||||
"AetheriaRuntimeObjectsViewportDocument",
|
||||
"_objectsViewport",
|
||||
".Document<AetheriaRuntimeObjectsViewportDocument>(viewportBounds).Reactive()",
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)",
|
||||
"AetheriaRuntimeObjectsViewportSession",
|
||||
".ObserveObjects(viewportBounds)");
|
||||
|
||||
|
|
@ -8187,7 +8185,12 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root
|
|||
"public CultMeshDocumentHandle<TDocument> Document<TDocument>(AetheriaClientEveSurface surface)",
|
||||
"public CultMeshDocumentHandle<TDocument> Document<TDocument>(AetheriaRuntimeRtsViewportBounds viewport)",
|
||||
"public CultMeshDocumentHandle<TDocument> Document<TDocument>(int entityOrZoneIndex)",
|
||||
"public CultMeshDocumentHandle<TDocument> Document<TDocument>(string seatId)"
|
||||
"public CultMeshDocumentHandle<TDocument> Document<TDocument>(string seatId)",
|
||||
"public CultMeshReactiveDocument<TDocument> Reactive<TDocument>()",
|
||||
"public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(AetheriaClientEveSurface surface)",
|
||||
"public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(AetheriaRuntimeRtsViewportBounds viewport)",
|
||||
"public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(int entityOrZoneIndex)",
|
||||
"public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(string seatId)"
|
||||
};
|
||||
var missingClientSymbols = requiredClientSymbols
|
||||
.Where(symbol => !clientState.Contains(symbol, StringComparison.Ordinal))
|
||||
|
|
@ -8202,11 +8205,10 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root
|
|||
if (clientState.Contains("public Task<TDocument> LatestAsync<TDocument>", StringComparison.Ordinal) ||
|
||||
clientState.Contains("public TDocument Latest<TDocument>", StringComparison.Ordinal) ||
|
||||
clientState.Contains("public Task<CultMeshReactiveDocument<TDocument>> ReactiveAsync<TDocument>", StringComparison.Ordinal) ||
|
||||
clientState.Contains("public CultMeshReactiveDocument<TDocument> Reactive<TDocument>", StringComparison.Ordinal) ||
|
||||
clientState.Contains("public Observable<TDocument> Watch<TDocument>", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"AetheriaClientState must not reintroduce generic latest/reactive/watch shortcuts; callers should sample explicit document handles or CultMesh reactive documents.");
|
||||
"AetheriaClientState must not reintroduce generic latest/watch shortcuts; callers should sample native typed document handles or native reactive typed documents.");
|
||||
}
|
||||
|
||||
var forbiddenFixedReactiveWrappers = new[]
|
||||
|
|
@ -8574,7 +8576,7 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root
|
|||
}
|
||||
|
||||
if (!checkedSources["StarbridgePlayerSeatDocumentTests.cs"].Contains(
|
||||
".Document<AetheriaRuntimeStarbridgePlayerSeatDocument>(seat.SeatId).Reactive()",
|
||||
".Reactive<AetheriaRuntimeStarbridgePlayerSeatDocument>(seat.SeatId)",
|
||||
StringComparison.Ordinal) ||
|
||||
!checkedSources["StarbridgePlayerSeatDocumentTests.cs"].Contains(
|
||||
".Document<AetheriaRuntimeStarbridgePlayerSeatDocument>(seat.SeatId)",
|
||||
|
|
@ -9138,9 +9140,9 @@ static void RequireClientTargetBootAuthority(string root)
|
|||
"stateBoot.StateFileExists",
|
||||
"AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot.StateFilePath, stateBoot.RuntimeId)",
|
||||
".State",
|
||||
".Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"runtimeCatalogDocument.Current",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"sectorMapDocument.Current",
|
||||
"new ItemManager(",
|
||||
"new AetheriaUnityLoadoutItemFactory(itemManager, runtimeCatalog)",
|
||||
|
|
@ -9198,7 +9200,7 @@ static void RequireClientTargetBootAuthority(string root)
|
|||
"ResolveSectorMap(AetheriaRuntimeStateBootReport stateBoot)",
|
||||
"AetheriaClient",
|
||||
".State",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"ResolveVerseHostSettings(AetheriaRuntimeStateBootReport stateBoot)",
|
||||
"AetheriaState.At(AetheriaUnityRuntimePaths.GameDataDirectory)",
|
||||
".ClientTarget",
|
||||
|
|
@ -11877,11 +11879,11 @@ static void RequireAetheriaRuntimeVerseClientContract(string root)
|
|||
"AetheriaRuntimeLoadoutTemplatesDocument",
|
||||
"ProjectStarbridgeSummaryAsync",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeDaemonFrameDocument>? managedDaemonFrame = null;",
|
||||
"managedDaemonFrame = state.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();",
|
||||
"managedCatalog = state.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();",
|
||||
"managedLoadoutTemplates = state.Document<AetheriaRuntimeLoadoutTemplatesDocument>().Reactive();",
|
||||
"managedStarbridgeScenario = state.Document<AetheriaRuntimeStarbridgeScenarioDocument>().Reactive();",
|
||||
"managedStarbridgeSession = state.Document<AetheriaRuntimeStarbridgeSessionDocument>().Reactive();",
|
||||
"managedDaemonFrame = state.Reactive<AetheriaRuntimeDaemonFrameDocument>();",
|
||||
"managedCatalog = state.Reactive<AetheriaRuntimeCatalogSnapshot>();",
|
||||
"managedLoadoutTemplates = state.Reactive<AetheriaRuntimeLoadoutTemplatesDocument>();",
|
||||
"managedStarbridgeScenario = state.Reactive<AetheriaRuntimeStarbridgeScenarioDocument>();",
|
||||
"managedStarbridgeSession = state.Reactive<AetheriaRuntimeStarbridgeSessionDocument>();",
|
||||
"AetheriaRuntimeDaemonFrameDocument RequireManagedFrame()",
|
||||
"RequireManagedFrame()",
|
||||
"RequireManagedCatalog()",
|
||||
|
|
@ -12045,10 +12047,10 @@ static void RequireAetheriaRuntimeVerseClientContract(string root)
|
|||
"CultMeshReactiveDocument<AetheriaRuntimeDaemonHealthDocument>? _eveStateRefHealth",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeDaemonCommandBoundaryDocument>? _eveStateRefCommandBoundary",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot>? _eveStateRefCatalog",
|
||||
"_eveStateRefFrame ??= Document<AetheriaRuntimeDaemonFrameDocument>().Reactive()",
|
||||
"_eveStateRefHealth ??= Document<AetheriaRuntimeDaemonHealthDocument>().Reactive()",
|
||||
"_eveStateRefCommandBoundary ??= Document<AetheriaRuntimeDaemonCommandBoundaryDocument>().Reactive()",
|
||||
"_eveStateRefCatalog ??= Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
"_eveStateRefFrame ??= Reactive<AetheriaRuntimeDaemonFrameDocument>()",
|
||||
"_eveStateRefHealth ??= Reactive<AetheriaRuntimeDaemonHealthDocument>()",
|
||||
"_eveStateRefCommandBoundary ??= Reactive<AetheriaRuntimeDaemonCommandBoundaryDocument>()",
|
||||
"_eveStateRefCatalog ??= Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"() => _eveStateRefFrame.Current",
|
||||
"() => _eveStateRefHealth.Current",
|
||||
"() => _eveStateRefCommandBoundary.Current",
|
||||
|
|
@ -12819,7 +12821,7 @@ static void RequireMainMenuVerseHostProjection(string root)
|
|||
var requiredMainMenuSymbols = new[]
|
||||
{
|
||||
"ResolveVerseHostSettings(AetheriaRuntimeStateBootReport stateBoot)",
|
||||
".Document<AetheriaRuntimeVerseHostSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeVerseHostSettingsDocument>()",
|
||||
"AetheriaRuntimeMainMenuSurfaceBuilder.ProjectRoot(",
|
||||
"AetheriaRuntimeMainMenuSurfaceBuilder.BuildRoot("
|
||||
};
|
||||
|
|
@ -12958,7 +12960,7 @@ static void RequireMainMenuContinueRunState(string root)
|
|||
"ResolveSectorMap",
|
||||
"AetheriaClient",
|
||||
".State",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"ContinueGame()",
|
||||
"SceneManager.LoadScene(\"ARPG\")"
|
||||
};
|
||||
|
|
@ -13293,7 +13295,7 @@ static void RequireMainMenuContinueRunState(string root)
|
|||
"AetheriaRuntimeZoneContactRow",
|
||||
"AetheriaRuntimeZoneTargetRow",
|
||||
".State",
|
||||
".Document<AetheriaRuntimeZoneContactsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>()",
|
||||
"_zoneContacts?.Current",
|
||||
"_zoneContacts?.Dispose()",
|
||||
"_entityIndex.TryResolveEntityByDaemonIndex(targetEntityIndex, out var targetEntity)"
|
||||
|
|
@ -13342,9 +13344,9 @@ static void RequireMainMenuContinueRunState(string root)
|
|||
"CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeStationRefitDocument> _stationRefit",
|
||||
"TryReadCurrentDockingDocuments(",
|
||||
"state.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive()",
|
||||
"state.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive()",
|
||||
"state.Document<AetheriaRuntimeStationRefitDocument>().Reactive()",
|
||||
"state.Reactive<AetheriaRuntimeCurrentEntityDocument>()",
|
||||
"state.Reactive<AetheriaRuntimeCurrentDockingDocument>()",
|
||||
"state.Reactive<AetheriaRuntimeStationRefitDocument>()",
|
||||
"_currentDocking?.Current",
|
||||
"_stationRefit?.Current",
|
||||
"public bool IsEntityUndocked(Entity entity)",
|
||||
|
|
@ -14345,7 +14347,7 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
"AetheriaRuntimeZoneContactRow",
|
||||
"AetheriaRuntimeZoneTargetRow",
|
||||
".State",
|
||||
".Document<AetheriaRuntimeZoneContactsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>()",
|
||||
"_zoneContacts?.Current",
|
||||
"_zoneContacts?.Dispose()",
|
||||
"_entityIndex.TryResolveEntityByDaemonIndex(targetEntityIndex, out var targetEntity)"
|
||||
|
|
@ -14484,17 +14486,17 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
var compactSectorRenderer = CompactSource(sectorRenderer);
|
||||
var compactSectorMap = CompactSource(sectorMap);
|
||||
if (!mapRenderer.Contains("AetheriaUnityRuntimeClientProvider.ResolveClient(", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".State.Document<AetheriaRuntimeObjectsViewportDocument>(viewport).Reactive()", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".State.Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport).Reactive()", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport)", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".State.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".State.Reactive<AetheriaRuntimePlayerSettingsDocument>()", StringComparison.Ordinal) ||
|
||||
!sectorRenderer.Contains("AetheriaUnityRuntimeClientProvider.ResolveClient(", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".State.Document<AetheriaRuntimeSectorMapDocument>().Reactive()", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".State.Document<AetheriaRuntimeZoneDetailsDocument>(zoneIndex).Reactive()", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".State.Reactive<AetheriaRuntimeSectorMapDocument>()", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".State.Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)", StringComparison.Ordinal) ||
|
||||
!sectorRenderer.Contains(".Current", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains("ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive()", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains("ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".State.Reactive<AetheriaRuntimePlayerSettingsDocument>()", StringComparison.Ordinal) ||
|
||||
!sectorMap.Contains("AetheriaUnityRuntimeClientProvider.ResolveClient(", StringComparison.Ordinal) ||
|
||||
!compactSectorMap.Contains(".State.Document<AetheriaRuntimeSectorMapDocument>().Reactive()", StringComparison.Ordinal) ||
|
||||
!compactSectorMap.Contains(".State.Reactive<AetheriaRuntimeSectorMapDocument>()", StringComparison.Ordinal) ||
|
||||
!sectorRenderer.Contains("AetheriaRuntimeZoneDetailsSurfaceBuilder.ProjectDaemonZone(", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
|
|
@ -14513,7 +14515,7 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
"SectorMap",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMapDocument",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
|
||||
|
|
@ -15151,7 +15153,7 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
"TryStartDaemonObservedGame",
|
||||
"ResolveSectorMap(stateBoot)",
|
||||
".State",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"sectorMap.FrameId",
|
||||
"SceneManager.LoadScene(\"ARPG\")"
|
||||
};
|
||||
|
|
@ -16053,9 +16055,9 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
"AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory)",
|
||||
"AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot.StateFilePath, stateBoot.RuntimeId)",
|
||||
".State",
|
||||
".Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"runtimeCatalogDocument.Current",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"sectorMapDocument.Current",
|
||||
"new ItemManager(",
|
||||
"new AetheriaUnityLoadoutItemFactory(itemManager, runtimeCatalog)",
|
||||
|
|
@ -16098,7 +16100,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
"RuntimeClients[cacheKey] = runtimeClient",
|
||||
"AetheriaClient",
|
||||
".State",
|
||||
".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"_playerSettingsDocument.Current",
|
||||
"_playerSettingsDocument?.Dispose()",
|
||||
"OpenAsync(",
|
||||
|
|
@ -16230,7 +16232,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
"public AetheriaClientState State => _state;",
|
||||
"var frame = CurrentDaemonFrame();",
|
||||
"private CultMeshReactiveDocument<AetheriaRuntimeDaemonFrameDocument>? _daemonFrame;",
|
||||
"_daemonFrame ??= State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();"
|
||||
"_daemonFrame ??= State.Reactive<AetheriaRuntimeDaemonFrameDocument>();"
|
||||
};
|
||||
var missingManagedClientConnectionSymbols = requiredManagedClientConnectionSymbols
|
||||
.Where(symbol => !aetheriaClient.Contains(symbol, StringComparison.Ordinal))
|
||||
|
|
@ -16279,12 +16281,11 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
aetheriaClientState.Contains("public TDocument Latest<TDocument>", StringComparison.Ordinal) ||
|
||||
aetheriaClientState.Contains("public Observable<TDocument> Watch<TDocument>", StringComparison.Ordinal) ||
|
||||
aetheriaClientState.Contains("public Task<CultMeshReactiveDocument<TDocument>> ReactiveAsync<TDocument>", StringComparison.Ordinal) ||
|
||||
aetheriaClientState.Contains("public CultMeshReactiveDocument<TDocument> Reactive<TDocument>", StringComparison.Ordinal) ||
|
||||
aetheriaClientState.Contains("DocumentBySchema(", StringComparison.Ordinal) ||
|
||||
aetheriaClientState.Contains("TryGetDocumentBySchema(", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"AetheriaClientState still exposes generic latest/reactive/watch or schema-string shortcuts instead of direct typed CultMesh document handles.");
|
||||
"AetheriaClientState still exposes generic latest/watch or schema-string shortcuts instead of direct typed CultMesh document handles.");
|
||||
}
|
||||
|
||||
if (aetheriaClientState.Contains("public AetheriaRuntimeDaemonRenderView? CurrentObservedDaemon(", StringComparison.Ordinal) ||
|
||||
|
|
@ -16297,7 +16298,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
var requiredManagedCommandFrameSymbols = new[]
|
||||
{
|
||||
"internal AetheriaRuntimeDaemonFrameDocument? CurrentDaemonFrame()",
|
||||
"_daemonFrame ??= State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();",
|
||||
"_daemonFrame ??= State.Reactive<AetheriaRuntimeDaemonFrameDocument>();",
|
||||
"return _daemonFrame.Current;",
|
||||
"Func<AetheriaRuntimeDaemonOperationClient, AetheriaRuntimeDaemonFrameDocument?, AetheriaRuntimeDaemonCommandEnvelope> submit",
|
||||
"frame?.SessionId ?? _sessionId"
|
||||
|
|
@ -16313,9 +16314,9 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
}
|
||||
|
||||
if (!daemonRuntimeDocumentTests.Contains("ManagedStateSamplesCurrentDaemonRenderViewFromReactiveDocuments()", StringComparison.Ordinal) ||
|
||||
!daemonRuntimeDocumentTests.Contains("using var observedFrame = client.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();", StringComparison.Ordinal) ||
|
||||
!daemonRuntimeDocumentTests.Contains("using var observedSoaView = client.State.Document<AetheriaRuntimeDaemonSoaViewDocument>().Reactive();", StringComparison.Ordinal) ||
|
||||
!daemonRuntimeDocumentTests.Contains("using var observedZoneRender = client.State.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();", StringComparison.Ordinal) ||
|
||||
!daemonRuntimeDocumentTests.Contains("using var observedFrame = client.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();", StringComparison.Ordinal) ||
|
||||
!daemonRuntimeDocumentTests.Contains("using var observedSoaView = client.State.Reactive<AetheriaRuntimeDaemonSoaViewDocument>();", StringComparison.Ordinal) ||
|
||||
!daemonRuntimeDocumentTests.Contains("using var observedZoneRender = client.State.Reactive<AetheriaRuntimeZoneRenderDocument>();", StringComparison.Ordinal) ||
|
||||
!daemonRuntimeDocumentTests.Contains("AetheriaRuntimeDaemonRenderView.TryCreateCurrent(", StringComparison.Ordinal) ||
|
||||
daemonRuntimeDocumentTests.Contains("client.State.CurrentObservedDaemon()", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -16536,9 +16537,9 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
!daemonObserver.Contains("CultMeshReactiveDocument<AetheriaRuntimeDaemonFrameDocument> _daemonFrame", StringComparison.Ordinal) ||
|
||||
!daemonObserver.Contains("CultMeshReactiveDocument<AetheriaRuntimeDaemonSoaViewDocument> _daemonSoaView", StringComparison.Ordinal) ||
|
||||
!daemonObserver.Contains("CultMeshReactiveDocument<AetheriaRuntimeZoneRenderDocument> _zoneRender", StringComparison.Ordinal) ||
|
||||
!daemonObserver.Contains("_daemonFrame ??= state.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();", StringComparison.Ordinal) ||
|
||||
!daemonObserver.Contains("_daemonFrame ??= state.Reactive<AetheriaRuntimeDaemonFrameDocument>();", StringComparison.Ordinal) ||
|
||||
!daemonObserver.Contains("_daemonSoaView ??= TryReactive<AetheriaRuntimeDaemonSoaViewDocument>(state);", StringComparison.Ordinal) ||
|
||||
!daemonObserver.Contains("_zoneRender ??= state.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();", StringComparison.Ordinal) ||
|
||||
!daemonObserver.Contains("_zoneRender ??= state.Reactive<AetheriaRuntimeZoneRenderDocument>();", StringComparison.Ordinal) ||
|
||||
!daemonObserver.Contains("AetheriaRuntimeDaemonRenderView.TryCreateCurrent(", StringComparison.Ordinal) ||
|
||||
!daemonObserver.Contains("DisposeRenderViewDocuments()", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -16570,8 +16571,8 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
if (!mainMenu.Contains("AetheriaClient", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains("ResolveSectorMap(AetheriaRuntimeStateBootReport stateBoot)", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains(".State", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains(".Document<AetheriaRuntimeSectorMapDocument>().Reactive()", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains(".Document<AetheriaRuntimePlayerSettingsDocument>().Reactive()", StringComparison.Ordinal))
|
||||
!mainMenu.Contains(".Reactive<AetheriaRuntimeSectorMapDocument>()", StringComparison.Ordinal) ||
|
||||
!mainMenu.Contains(".Reactive<AetheriaRuntimePlayerSettingsDocument>()", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"MainMenu no longer routes sector-map lookup through the shared Aetheria client facade.");
|
||||
|
|
@ -16598,9 +16599,9 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
|
||||
var requiredGameplayBootSymbols = new[]
|
||||
{
|
||||
".Document<AetheriaRuntimeCatalogSnapshot>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"runtimeCatalogDocument.Current",
|
||||
".Document<AetheriaRuntimeSectorMapDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
"sectorMapDocument.Current",
|
||||
"Galaxy.ProjectObservedSectorMap(",
|
||||
"sectorMap.IsTutorial",
|
||||
|
|
@ -17441,8 +17442,7 @@ static void RequireInventoryDoubleClickTransferRequestAuthority(string root)
|
|||
"TryResolveTypedInventoryRows(",
|
||||
"TryValidateTypedCargoSlot(",
|
||||
"TryValidateTypedEquipmentSlot(",
|
||||
".Document<AetheriaRuntimeInventoryDocument>(entityIndex)",
|
||||
".Reactive()",
|
||||
".State.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex)",
|
||||
"origin.Cargo.TryGetValue(item, out var originPosition)",
|
||||
"SourceIndex == cargoIndex",
|
||||
"SourceIndex == equipmentIndex",
|
||||
|
|
@ -17995,7 +17995,7 @@ static void RequireInventoryLoadoutSaveRequestAuthority(string root)
|
|||
"CultMeshReactiveDocument<AetheriaRuntimeDaemonFrameDocument> _loadoutFrame",
|
||||
"CreateLoadoutTemplate(targetEntityKey)",
|
||||
".CreateLoadoutTemplate(targetEntityKey ?? \"\")",
|
||||
".Document<AetheriaRuntimeDaemonFrameDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeDaemonFrameDocument>()",
|
||||
"_loadoutFrame?.Dispose()",
|
||||
".Ui.SaveLoadoutTemplateAsync(loadout, \"unity-inventory\")"
|
||||
};
|
||||
|
|
@ -18021,7 +18021,7 @@ static void RequireInventoryLoadoutSaveRequestAuthority(string root)
|
|||
"InventoryPanel",
|
||||
"AetheriaRuntimeDaemonFrameDocument",
|
||||
"_loadoutFrame",
|
||||
".Document<AetheriaRuntimeDaemonFrameDocument>().Reactive()",
|
||||
".Reactive<AetheriaRuntimeDaemonFrameDocument>()",
|
||||
"AetheriaRuntimeDaemonFrameSession",
|
||||
".ObserveDaemonFrame()");
|
||||
|
||||
|
|
@ -18062,7 +18062,7 @@ static void RequireInventoryLoadoutSaveRequestAuthority(string root)
|
|||
|
||||
if (snapshotDocuments.Contains("ProjectLoadoutTemplateAsync(", StringComparison.Ordinal) ||
|
||||
snapshotDocuments.Contains("AetheriaClientState state", StringComparison.Ordinal) ||
|
||||
snapshotDocuments.Contains(".Document<AetheriaRuntimeDaemonFrameDocument>().Reactive()", StringComparison.Ordinal) ||
|
||||
snapshotDocuments.Contains(".Reactive<AetheriaRuntimeDaemonFrameDocument>()", StringComparison.Ordinal) ||
|
||||
snapshotDocuments.Contains("frame.Current?.Run", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public abstract class ActionBarBinding : IDisposable
|
|||
|
||||
try
|
||||
{
|
||||
_catalog ??= Client.State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
_catalog ??= Client.State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
return _catalog?.Current?.FindItem(item, x => x.ItemKey);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
|||
|
|
@ -131,9 +131,9 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour
|
|||
return;
|
||||
}
|
||||
|
||||
_daemonFrame ??= state.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
|
||||
_daemonFrame ??= state.Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
_daemonSoaView ??= TryReactive<AetheriaRuntimeDaemonSoaViewDocument>(state);
|
||||
_zoneRender ??= state.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
|
||||
_zoneRender ??= state.Reactive<AetheriaRuntimeZoneRenderDocument>();
|
||||
}
|
||||
|
||||
private static CultMeshReactiveDocument<TDocument> TryReactive<TDocument>(
|
||||
|
|
@ -142,7 +142,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour
|
|||
{
|
||||
try
|
||||
{
|
||||
return state.Document<TDocument>().Reactive();
|
||||
return state.Reactive<TDocument>();
|
||||
}
|
||||
catch (System.Collections.Generic.KeyNotFoundException)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -37,11 +37,11 @@ public sealed class AetheriaUnityGameplayBootShell
|
|||
|
||||
var aetheria = AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot.StateFilePath, stateBoot.RuntimeId)
|
||||
.State;
|
||||
using var runtimeCatalogDocument = aetheria.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
using var runtimeCatalogDocument = aetheria.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
var runtimeCatalog = runtimeCatalogDocument.Current;
|
||||
if (runtimeCatalog == null)
|
||||
throw new InvalidOperationException("Aetheria typed runtime catalog is required before gameplay boot.");
|
||||
using var sectorMapDocument = aetheria.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
|
||||
using var sectorMapDocument = aetheria.Reactive<AetheriaRuntimeSectorMapDocument>();
|
||||
var sectorMap = sectorMapDocument.Current;
|
||||
if (sectorMap == null)
|
||||
throw new InvalidOperationException("Aetheria typed sector map is required before gameplay boot.");
|
||||
|
|
|
|||
|
|
@ -212,9 +212,9 @@ public sealed class AetheriaUnityObservedDockingIndex : IDisposable
|
|||
if (state == null)
|
||||
return;
|
||||
|
||||
_currentEntity ??= state.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
|
||||
_currentDocking ??= state.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive();
|
||||
_stationRefit ??= state.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
|
||||
_currentEntity ??= state.Reactive<AetheriaRuntimeCurrentEntityDocument>();
|
||||
_currentDocking ??= state.Reactive<AetheriaRuntimeCurrentDockingDocument>();
|
||||
_stationRefit ??= state.Reactive<AetheriaRuntimeStationRefitDocument>();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ public sealed class AetheriaUnityObservedTargetQuery : IDisposable
|
|||
try
|
||||
{
|
||||
_zoneContacts = _resolveClient()
|
||||
?.State.Document<AetheriaRuntimeZoneContactsDocument>().Reactive();
|
||||
?.State.Reactive<AetheriaRuntimeZoneContactsDocument>();
|
||||
return _zoneContacts?.Current;
|
||||
}
|
||||
catch
|
||||
|
|
|
|||
|
|
@ -117,9 +117,7 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour
|
|||
try
|
||||
{
|
||||
var nextRenderSplatsViewport = ResolveClient()
|
||||
.State
|
||||
.Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)
|
||||
.Reactive();
|
||||
.State.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport);
|
||||
ClearViewportDocument();
|
||||
_viewport = viewport;
|
||||
_renderSplatsViewport = nextRenderSplatsViewport;
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public static class AetheriaUnityRuntimeClientProvider
|
|||
try
|
||||
{
|
||||
_playerSettingsDocument ??= ResolveClient(AetheriaUnityRuntimePaths.RuntimeStateFilePath)
|
||||
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
|
||||
var stored = _playerSettingsDocument.Current;
|
||||
if (stored == null)
|
||||
|
|
|
|||
|
|
@ -201,35 +201,35 @@ public class DaemonRuntimeDocumentTests
|
|||
.ReactiveAsync()
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
using var zoneRenderReactive = client.State.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
|
||||
using var zoneRenderReactive = client.State.Reactive<AetheriaRuntimeZoneRenderDocument>();
|
||||
var observedAuthoritativeFrame = ReadLatest(client.State.Document<AetheriaRuntimeDaemonFrameDocument>());
|
||||
using var catalogReactive = client.State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
using var daemonFrameReactive = client.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
|
||||
using var daemonSoaViewReactive = client.State.Document<AetheriaRuntimeDaemonSoaViewDocument>().Reactive();
|
||||
using var catalogReactive = client.State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
using var daemonFrameReactive = client.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
using var daemonSoaViewReactive = client.State.Reactive<AetheriaRuntimeDaemonSoaViewDocument>();
|
||||
Assert.IsTrue(AetheriaRuntimeDaemonRenderView.TryCreateCurrent(
|
||||
daemonFrameReactive,
|
||||
daemonSoaViewReactive,
|
||||
zoneRenderReactive,
|
||||
out var observed));
|
||||
using var loadoutTemplatesReactive = client.State.Document<AetheriaRuntimeLoadoutTemplatesDocument>().Reactive();
|
||||
using var sectorMapReactive = client.State.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
|
||||
using var playerSettingsReactive = client.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
using var verseHostSettingsReactive = client.State.Document<AetheriaRuntimeVerseHostSettingsDocument>().Reactive();
|
||||
using var zoneContactsReactive = client.State.Document<AetheriaRuntimeZoneContactsDocument>().Reactive();
|
||||
using var currentZoneReactive = client.State.Document<AetheriaRuntimeCurrentZoneDocument>().Reactive();
|
||||
using var currentEntityDocumentReactive = client.State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
|
||||
using var currentDockingReactive = client.State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive();
|
||||
using var stationRefitReactive = client.State.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
|
||||
using var zoneDetailsReactive = client.State.Document<AetheriaRuntimeZoneDetailsDocument>(0).Reactive();
|
||||
using var selectedObjectReactive = client.State.Document<AetheriaRuntimeSelectedObjectDocument>(0).Reactive();
|
||||
using var inventoryReactive = client.State.Document<AetheriaRuntimeInventoryDocument>(0).Reactive();
|
||||
using var mapViewportReactive = client.State.Document<AetheriaRuntimeRtsViewportDocument>(viewport).Reactive();
|
||||
using var objectsViewportReactive = client.State.Document<AetheriaRuntimeObjectsViewportDocument>(viewport).Reactive();
|
||||
using var gravityViewportReactive = client.State.Document<AetheriaRuntimeGravityViewportDocument>(viewport).Reactive();
|
||||
using var renderSplatsViewportReactive = client.State.Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport).Reactive();
|
||||
using var playerHudCatalog = client.State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
using var playerHudSettings = client.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
using var playerHudEntity = client.State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
|
||||
using var loadoutTemplatesReactive = client.State.Reactive<AetheriaRuntimeLoadoutTemplatesDocument>();
|
||||
using var sectorMapReactive = client.State.Reactive<AetheriaRuntimeSectorMapDocument>();
|
||||
using var playerSettingsReactive = client.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
using var verseHostSettingsReactive = client.State.Reactive<AetheriaRuntimeVerseHostSettingsDocument>();
|
||||
using var zoneContactsReactive = client.State.Reactive<AetheriaRuntimeZoneContactsDocument>();
|
||||
using var currentZoneReactive = client.State.Reactive<AetheriaRuntimeCurrentZoneDocument>();
|
||||
using var currentEntityDocumentReactive = client.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
|
||||
using var currentDockingReactive = client.State.Reactive<AetheriaRuntimeCurrentDockingDocument>();
|
||||
using var stationRefitReactive = client.State.Reactive<AetheriaRuntimeStationRefitDocument>();
|
||||
using var zoneDetailsReactive = client.State.Reactive<AetheriaRuntimeZoneDetailsDocument>(0);
|
||||
using var selectedObjectReactive = client.State.Reactive<AetheriaRuntimeSelectedObjectDocument>(0);
|
||||
using var inventoryReactive = client.State.Reactive<AetheriaRuntimeInventoryDocument>(0);
|
||||
using var mapViewportReactive = client.State.Reactive<AetheriaRuntimeRtsViewportDocument>(viewport);
|
||||
using var objectsViewportReactive = client.State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport);
|
||||
using var gravityViewportReactive = client.State.Reactive<AetheriaRuntimeGravityViewportDocument>(viewport);
|
||||
using var renderSplatsViewportReactive = client.State.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport);
|
||||
using var playerHudCatalog = client.State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
using var playerHudSettings = client.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
using var playerHudEntity = client.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
|
||||
var gameSurface = ReadLatest(client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game));
|
||||
var gameTuiSurface = ReadLatest(client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui));
|
||||
var editorSurface = ReadLatest(client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor));
|
||||
|
|
@ -243,10 +243,10 @@ public class DaemonRuntimeDocumentTests
|
|||
Assert.AreEqual(currentEntity.EntityKey, currentEntityDocumentReactive.Current.EntityKey);
|
||||
Assert.AreEqual(currentDocking.CurrentEntityKey, currentDockingReactive.Current.CurrentEntityKey);
|
||||
Assert.AreEqual(stationRefit.StationEntityKey, stationRefitReactive.Current.StationEntityKey);
|
||||
using var reactiveGameSurface = client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game).Reactive();
|
||||
using var reactiveGameTuiSurface = client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui).Reactive();
|
||||
using var reactiveEditorSurface = client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor).Reactive();
|
||||
using var reactiveEditorTuiSurface = client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.EditorTui).Reactive();
|
||||
using var reactiveGameSurface = client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game);
|
||||
using var reactiveGameTuiSurface = client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui);
|
||||
using var reactiveEditorSurface = client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor);
|
||||
using var reactiveEditorTuiSurface = client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.EditorTui);
|
||||
|
||||
Assert.AreEqual("aetheria.current.entity", client.State.CurrentEntity.DocumentId);
|
||||
Assert.AreSame(client.State.CurrentEntity, client.State.Document<AetheriaRuntimeCurrentEntityDocument>());
|
||||
|
|
@ -2210,9 +2210,9 @@ public class DaemonRuntimeDocumentTests
|
|||
.OpenAsync(statePath, "unity-observer-test", pullOnOpen: true)
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
using var observedFrame = client.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
|
||||
using var observedSoaView = client.State.Document<AetheriaRuntimeDaemonSoaViewDocument>().Reactive();
|
||||
using var observedZoneRender = client.State.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
|
||||
using var observedFrame = client.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
using var observedSoaView = client.State.Reactive<AetheriaRuntimeDaemonSoaViewDocument>();
|
||||
using var observedZoneRender = client.State.Reactive<AetheriaRuntimeZoneRenderDocument>();
|
||||
Assert.IsTrue(AetheriaRuntimeDaemonRenderView.TryCreateCurrent(
|
||||
observedFrame,
|
||||
observedSoaView,
|
||||
|
|
@ -2268,9 +2268,9 @@ public class DaemonRuntimeDocumentTests
|
|||
.OpenAsync(statePath, "unity-reactive-observer-test", pullOnOpen: true)
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
using var observedFrame = client.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
|
||||
using var observedSoaView = client.State.Document<AetheriaRuntimeDaemonSoaViewDocument>().Reactive();
|
||||
using var observedZoneRender = client.State.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
|
||||
using var observedFrame = client.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
using var observedSoaView = client.State.Reactive<AetheriaRuntimeDaemonSoaViewDocument>();
|
||||
using var observedZoneRender = client.State.Reactive<AetheriaRuntimeZoneRenderDocument>();
|
||||
var observed = AetheriaRuntimeDaemonRenderView.TryCreateCurrent(
|
||||
observedFrame,
|
||||
observedSoaView,
|
||||
|
|
@ -2315,9 +2315,9 @@ public class DaemonRuntimeDocumentTests
|
|||
.OpenAsync(statePath, "unity-frame-only-observer-test", pullOnOpen: true)
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
using var observedFrame = client.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
|
||||
using var observedSoaView = client.State.Document<AetheriaRuntimeDaemonSoaViewDocument>().Reactive();
|
||||
using var observedZoneRender = client.State.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
|
||||
using var observedFrame = client.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
using var observedSoaView = client.State.Reactive<AetheriaRuntimeDaemonSoaViewDocument>();
|
||||
using var observedZoneRender = client.State.Reactive<AetheriaRuntimeZoneRenderDocument>();
|
||||
Assert.IsTrue(AetheriaRuntimeDaemonRenderView.TryCreateCurrent(
|
||||
observedFrame,
|
||||
observedSoaView,
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class StarbridgePlayerSeatDocumentTests
|
|||
var handle = client.Document<AetheriaRuntimeStarbridgePlayerSeatDocument>(
|
||||
AetheriaRuntimeVerseRecordKeys.StarbridgePlayerSeat(seat.SeatId));
|
||||
using var reactive = handle.Reactive();
|
||||
using var aetheriaSeat = client.State.Document<AetheriaRuntimeStarbridgePlayerSeatDocument>(seat.SeatId).Reactive();
|
||||
using var aetheriaSeat = client.State.Reactive<AetheriaRuntimeStarbridgePlayerSeatDocument>(seat.SeatId);
|
||||
|
||||
Assert.AreEqual("seat-support", handle.Latest().SeatId);
|
||||
Assert.AreEqual(
|
||||
|
|
|
|||
|
|
@ -326,7 +326,7 @@ public class SchematicDisplay : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -342,7 +342,7 @@ public class SchematicDisplay : MonoBehaviour
|
|||
{
|
||||
try
|
||||
{
|
||||
_playerSettings = ResolveClient().State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
_playerSettings = ResolveClient().State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -359,7 +359,7 @@ public class SchematicDisplay : MonoBehaviour
|
|||
{
|
||||
try
|
||||
{
|
||||
_currentEntity = ResolveClient().State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
|
||||
_currentEntity = ResolveClient().State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -393,7 +393,7 @@ public class InputDisplayLayout : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ public class MainMenu : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_sectorMap ??= ResolveClient(stateBoot)
|
||||
.State.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeSectorMapDocument>();
|
||||
return _sectorMap?.Current;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -169,7 +169,7 @@ public class MainMenu : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_playerSettings ??= ResolveClient(stateBoot)
|
||||
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
return _playerSettings?.Current;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -187,7 +187,7 @@ public class MainMenu : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_verseHostSettings ??= ResolveClient(stateBoot)
|
||||
.State.Document<AetheriaRuntimeVerseHostSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeVerseHostSettingsDocument>();
|
||||
return _verseHostSettings?.Current;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
|||
|
|
@ -965,7 +965,7 @@ public class InventoryMenu : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_currentEntity = ResolveClient()
|
||||
.State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -983,7 +983,7 @@ public class InventoryMenu : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_stationRefit = ResolveClient()
|
||||
.State.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeStationRefitDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1001,9 +1001,7 @@ public class InventoryMenu : MonoBehaviour
|
|||
try
|
||||
{
|
||||
var nextInventory = ResolveClient()
|
||||
.State
|
||||
.Document<AetheriaRuntimeInventoryDocument>(entityIndex)
|
||||
.Reactive();
|
||||
.State.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex);
|
||||
_inventory?.Dispose();
|
||||
_inventoryEntityIndex = entityIndex;
|
||||
_inventory = nextInventory;
|
||||
|
|
@ -1075,7 +1073,7 @@ public class InventoryMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1093,7 +1091,7 @@ public class InventoryMenu : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1504,7 +1504,7 @@ private void Update()
|
|||
try
|
||||
{
|
||||
_currentEntity = ResolveClient()
|
||||
.State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1522,7 +1522,7 @@ private void Update()
|
|||
try
|
||||
{
|
||||
_stationRefit = ResolveClient()
|
||||
.State.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeStationRefitDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1547,7 +1547,7 @@ private void Update()
|
|||
try
|
||||
{
|
||||
_loadoutFrame = ResolveClient()
|
||||
.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1565,9 +1565,7 @@ private void Update()
|
|||
try
|
||||
{
|
||||
var nextInventory = ResolveClient()
|
||||
.State
|
||||
.Document<AetheriaRuntimeInventoryDocument>(entityIndex)
|
||||
.Reactive();
|
||||
.State.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex);
|
||||
_inventory?.Dispose();
|
||||
_inventoryEntityIndex = entityIndex;
|
||||
_inventory = nextInventory;
|
||||
|
|
@ -1587,7 +1585,7 @@ private void Update()
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1605,7 +1603,7 @@ private void Update()
|
|||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -129,14 +129,8 @@ public class MapRenderer : MonoBehaviour
|
|||
var client = ResolveClient();
|
||||
var viewport = ResolveViewportBounds();
|
||||
ClearViewportCaches();
|
||||
_objectsViewport = client
|
||||
.State
|
||||
.Document<AetheriaRuntimeObjectsViewportDocument>(viewport)
|
||||
.Reactive();
|
||||
_renderSplatsViewport = client
|
||||
.State
|
||||
.Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)
|
||||
.Reactive();
|
||||
_objectsViewport = client.State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport);
|
||||
_renderSplatsViewport = client.State.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport);
|
||||
|
||||
var objectsViewport = _objectsViewport?.Current;
|
||||
var zoneName = string.IsNullOrWhiteSpace(objectsViewport?.ZoneName)
|
||||
|
|
@ -319,7 +313,7 @@ public class MapRenderer : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_playerSettings ??= ResolveClient()
|
||||
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
return _playerSettings?.Current?.ShowAsteroidsInMinimap ?? false;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ public class MenuPanel : MonoBehaviour
|
|||
docking = null;
|
||||
try
|
||||
{
|
||||
_currentDocking ??= ResolveClient().State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive();
|
||||
_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>();
|
||||
docking = _currentDocking.Current;
|
||||
return docking != null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ public class SectorMap : MonoBehaviour
|
|||
private void EnsureSectorMapLoaded()
|
||||
{
|
||||
_sectorMapDocument ??= ResolveClient()
|
||||
.State.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeSectorMapDocument>();
|
||||
_sectorMap = _sectorMapDocument?.Current;
|
||||
|
||||
if (_sectorMapLoaded)
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
try
|
||||
{
|
||||
_sectorMap ??= ResolveClient()
|
||||
.State.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeSectorMapDocument>();
|
||||
var sectorMap = _sectorMap?.Current;
|
||||
return (sectorMap?.Zones ?? Array.Empty<AetheriaRuntimeSectorMapZone>())
|
||||
.FirstOrDefault(zone => zone.ZoneIndex == zoneIndex);
|
||||
|
|
@ -203,9 +203,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
try
|
||||
{
|
||||
var nextZoneDetails = ResolveClient()
|
||||
.State
|
||||
.Document<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)
|
||||
.Reactive();
|
||||
.State.Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex);
|
||||
_zoneDetails?.Dispose();
|
||||
_zoneDetailsIndex = zoneIndex;
|
||||
_zoneDetails = nextZoneDetails;
|
||||
|
|
@ -231,7 +229,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -249,7 +247,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -320,7 +318,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
try
|
||||
{
|
||||
_currentZone ??= ResolveClient()
|
||||
.State.Document<AetheriaRuntimeCurrentZoneDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimeCurrentZoneDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -518,7 +518,7 @@ public class TradeMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_stationRefit = ResolveClient().State.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
|
||||
_stationRefit = ResolveClient().State.Reactive<AetheriaRuntimeStationRefitDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -533,7 +533,7 @@ public class TradeMenu : MonoBehaviour
|
|||
docking = null;
|
||||
try
|
||||
{
|
||||
_currentDocking ??= ResolveClient().State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive();
|
||||
_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>();
|
||||
docking = _currentDocking.Current;
|
||||
return docking != null;
|
||||
}
|
||||
|
|
@ -627,7 +627,7 @@ public class TradeMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -645,7 +645,7 @@ public class TradeMenu : MonoBehaviour
|
|||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ public class VolumeCloudRenderer : EffectBase
|
|||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1208,7 +1208,7 @@ public class ZoneRenderer : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1225,7 +1225,7 @@ public class ZoneRenderer : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_zoneContacts = ResolveClient().State.Document<AetheriaRuntimeZoneContactsDocument>().Reactive();
|
||||
_zoneContacts = ResolveClient().State.Reactive<AetheriaRuntimeZoneContactsDocument>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1244,9 +1244,7 @@ public class ZoneRenderer : MonoBehaviour
|
|||
try
|
||||
{
|
||||
var nextObjectsViewport = ResolveClient()
|
||||
.State
|
||||
.Document<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)
|
||||
.Reactive();
|
||||
.State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds);
|
||||
_objectsViewport?.Dispose();
|
||||
_objectsViewportBounds = viewportBounds;
|
||||
_objectsViewport = nextObjectsViewport;
|
||||
|
|
|
|||
|
|
@ -169,16 +169,16 @@ namespace GameCult.Aetheria.EveRuntime
|
|||
AetheriaClient client)
|
||||
{
|
||||
if (string.Equals(surfaceId, AetheriaRuntimeDaemonGameSurfaceBuilder.SurfaceId, StringComparison.Ordinal))
|
||||
return client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game).Reactive();
|
||||
return client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game);
|
||||
|
||||
if (string.Equals(surfaceId, AetheriaRuntimeDaemonGameSurfaceBuilder.TuiSurfaceId, StringComparison.Ordinal))
|
||||
return client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui).Reactive();
|
||||
return client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui);
|
||||
|
||||
if (string.Equals(surfaceId, AetheriaRuntimeDaemonEditorSurfaceBuilder.SurfaceId, StringComparison.Ordinal))
|
||||
return client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor).Reactive();
|
||||
return client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor);
|
||||
|
||||
if (string.Equals(surfaceId, AetheriaRuntimeDaemonEditorSurfaceBuilder.TuiSurfaceId, StringComparison.Ordinal))
|
||||
return client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.EditorTui).Reactive();
|
||||
return client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.EditorTui);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ namespace GameCult.Aetheria.State.Verse
|
|||
ThrowIfDisposed();
|
||||
try
|
||||
{
|
||||
_daemonFrame ??= State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
|
||||
_daemonFrame ??= State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
return _daemonFrame.Current;
|
||||
}
|
||||
catch
|
||||
|
|
|
|||
|
|
@ -187,6 +187,12 @@ namespace GameCult.Aetheria.State.Verse
|
|||
$"Aetheria typed state does not expose a projected document for {typeof(TDocument).FullName}.");
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<TDocument> Reactive<TDocument>()
|
||||
where TDocument : class
|
||||
{
|
||||
return Document<TDocument>().Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<TDocument> Document<TDocument>(AetheriaClientEveSurface surface)
|
||||
where TDocument : class
|
||||
{
|
||||
|
|
@ -205,6 +211,12 @@ namespace GameCult.Aetheria.State.Verse
|
|||
return (CultMeshDocumentHandle<TDocument>)(object)document;
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(AetheriaClientEveSurface surface)
|
||||
where TDocument : class
|
||||
{
|
||||
return Document<TDocument>(surface).Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<TDocument> Document<TDocument>(AetheriaRuntimeRtsViewportBounds viewport)
|
||||
where TDocument : class
|
||||
{
|
||||
|
|
@ -223,6 +235,12 @@ namespace GameCult.Aetheria.State.Verse
|
|||
$"Aetheria typed state does not expose a viewport document for {typeof(TDocument).FullName}.");
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(AetheriaRuntimeRtsViewportBounds viewport)
|
||||
where TDocument : class
|
||||
{
|
||||
return Document<TDocument>(viewport).Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<TDocument> Document<TDocument>(int entityOrZoneIndex)
|
||||
where TDocument : class
|
||||
{
|
||||
|
|
@ -237,6 +255,12 @@ namespace GameCult.Aetheria.State.Verse
|
|||
$"Aetheria typed state does not expose an indexed document for {typeof(TDocument).FullName}.");
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(int entityOrZoneIndex)
|
||||
where TDocument : class
|
||||
{
|
||||
return Document<TDocument>(entityOrZoneIndex).Reactive();
|
||||
}
|
||||
|
||||
public CultMeshDocumentHandle<TDocument> Document<TDocument>(string seatId)
|
||||
where TDocument : class
|
||||
{
|
||||
|
|
@ -249,12 +273,18 @@ namespace GameCult.Aetheria.State.Verse
|
|||
return (CultMeshDocumentHandle<TDocument>)(object)_starbridgePlayerSeat(seatId);
|
||||
}
|
||||
|
||||
public CultMeshReactiveDocument<TDocument> Reactive<TDocument>(string seatId)
|
||||
where TDocument : class
|
||||
{
|
||||
return Document<TDocument>(seatId).Reactive();
|
||||
}
|
||||
|
||||
public CultMeshStateRefResolver CreateEveSurfaceCultMeshStateRefResolver()
|
||||
{
|
||||
_eveStateRefFrame ??= Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
|
||||
_eveStateRefHealth ??= Document<AetheriaRuntimeDaemonHealthDocument>().Reactive();
|
||||
_eveStateRefCommandBoundary ??= Document<AetheriaRuntimeDaemonCommandBoundaryDocument>().Reactive();
|
||||
_eveStateRefCatalog ??= Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
_eveStateRefFrame ??= Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
_eveStateRefHealth ??= Reactive<AetheriaRuntimeDaemonHealthDocument>();
|
||||
_eveStateRefCommandBoundary ??= Reactive<AetheriaRuntimeDaemonCommandBoundaryDocument>();
|
||||
_eveStateRefCatalog ??= Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
|
||||
return AetheriaRuntimeStateRefResolver.CreateEveSurfaceCultMeshStateRefResolver(
|
||||
() => _eveStateRefFrame.Current,
|
||||
|
|
|
|||
|
|
@ -497,11 +497,11 @@ namespace GameCult.Aetheria.State.Verse
|
|||
seatId => Document<AetheriaRuntimeStarbridgePlayerSeatDocument>(
|
||||
AetheriaRuntimeVerseRecordKeys.StarbridgePlayerSeat(seatId)));
|
||||
|
||||
managedDaemonFrame = state.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
|
||||
managedCatalog = state.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
|
||||
managedLoadoutTemplates = state.Document<AetheriaRuntimeLoadoutTemplatesDocument>().Reactive();
|
||||
managedStarbridgeScenario = state.Document<AetheriaRuntimeStarbridgeScenarioDocument>().Reactive();
|
||||
managedStarbridgeSession = state.Document<AetheriaRuntimeStarbridgeSessionDocument>().Reactive();
|
||||
managedDaemonFrame = state.Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
managedCatalog = state.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
managedLoadoutTemplates = state.Reactive<AetheriaRuntimeLoadoutTemplatesDocument>();
|
||||
managedStarbridgeScenario = state.Reactive<AetheriaRuntimeStarbridgeScenarioDocument>();
|
||||
managedStarbridgeSession = state.Reactive<AetheriaRuntimeStarbridgeSessionDocument>();
|
||||
_managedDaemonFrame = managedDaemonFrame;
|
||||
_managedCatalog = managedCatalog;
|
||||
_managedLoadoutTemplates = managedLoadoutTemplates;
|
||||
|
|
|
|||
Loading…
Reference in a new issue