Expose native Unity runtime state access
This commit is contained in:
parent
870b619157
commit
d10da01a69
10 changed files with 166 additions and 210 deletions
|
|
@ -4570,12 +4570,10 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"ResolveZoneName(sectorZone, zoneDetails)",
|
||||
"zoneFacts.Bodies",
|
||||
"zoneFacts.Entities",
|
||||
"AetheriaUnityRuntimeClientProvider.ResolveClient(",
|
||||
".State",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".State.Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)",
|
||||
"AetheriaUnityRuntimeClientProvider",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex, \"unity-sector-renderer\")",
|
||||
"_zoneDetails?.Current",
|
||||
"AetheriaClient",
|
||||
"AetheriaRuntimeZoneDetailsSurfaceCommands.TryRead(request, out var command)",
|
||||
"AetheriaRuntimeZoneDetailsCommandKind.Close"
|
||||
};
|
||||
|
|
@ -4596,7 +4594,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMap",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -4604,7 +4602,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCurrentZoneDocument",
|
||||
"_currentZone",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>()",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeCurrentZoneSession",
|
||||
".ObserveZone()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -4612,7 +4610,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeZoneDetailsDocument",
|
||||
"_zoneDetails",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex, \"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeZoneDetailsSession",
|
||||
".ObserveZone(zoneIndex)");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -4620,7 +4618,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -4628,7 +4626,7 @@ static void RequireSectorMapZoneDetailsUseEveSurface(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -4801,11 +4799,10 @@ static void RequireRuntimeMenuTabsUseEveSurface(string root)
|
|||
"SetObservedEntityIndex(AetheriaUnityObservedEntityIndex observedEntityIndex)",
|
||||
"AetheriaRuntimeCurrentDockingDocument",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking",
|
||||
"_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>()",
|
||||
"AetheriaUnityRuntimeClientProvider",
|
||||
".Reactive<AetheriaRuntimeCurrentDockingDocument>(\"unity-runtime-menu-tabs\")",
|
||||
"docking = _currentDocking.Current",
|
||||
"docking.IsDocked",
|
||||
"AetheriaClient",
|
||||
"AetheriaUnityRuntimeClientProvider.ResolveClient(",
|
||||
"GetTabLabel(",
|
||||
"ToRuntimeTabKey(",
|
||||
"AetheriaRuntimeMenuTabsSurfaceBuilder.NormalizeTabKey(tab.ToString())",
|
||||
|
|
@ -5694,7 +5691,7 @@ static void RequireInventoryEquippedItemDetailsUseEveSurface(string root)
|
|||
var requiredActionBarInventorySymbols = new[]
|
||||
{
|
||||
"SetActionBarPresentation(AetheriaUnityActionBarPresentation actionBarPresentation)",
|
||||
"ResolveClient()"
|
||||
"AetheriaUnityRuntimeClientProvider.Control(\"unity-inventory-menu\")"
|
||||
};
|
||||
|
||||
var missingActionBarInventorySymbols = requiredActionBarInventorySymbols
|
||||
|
|
@ -5704,7 +5701,7 @@ static void RequireInventoryEquippedItemDetailsUseEveSurface(string root)
|
|||
if (missingActionBarInventorySymbols.Length > 0)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"InventoryMenu no longer submits equipped-item action-bar bindings through the typed AetheriaClient facade: " +
|
||||
"InventoryMenu no longer submits equipped-item action-bar bindings through native Aetheria control access: " +
|
||||
string.Join(", ", missingActionBarInventorySymbols));
|
||||
}
|
||||
|
||||
|
|
@ -5805,10 +5802,10 @@ static void RequireTradeCargoSelectorUseEveSurface(string root)
|
|||
"SetObservedEntityIndex(AetheriaUnityObservedEntityIndex observedEntityIndex)",
|
||||
"AetheriaRuntimeCurrentDockingDocument",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking",
|
||||
"_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>()",
|
||||
".Reactive<AetheriaRuntimeCurrentDockingDocument>(\"unity-trade\")",
|
||||
"docking = _currentDocking.Current",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeStationRefitDocument> _stationRefit",
|
||||
"_stationRefit = ResolveClient().State.Reactive<AetheriaRuntimeStationRefitDocument>()",
|
||||
".Reactive<AetheriaRuntimeStationRefitDocument>(\"unity-trade\")",
|
||||
"return _stationRefit?.Current",
|
||||
"SetTargetCargo(",
|
||||
"selection.EntityKey",
|
||||
|
|
@ -7209,10 +7206,16 @@ static void RequireInventoryValidationUsesManagedTypedDocuments(string root)
|
|||
var missingSymbols = requiredSymbols
|
||||
.Where(symbol => !source.Contains(symbol, StringComparison.Ordinal))
|
||||
.ToArray();
|
||||
var currentEntityAccess = name == "InventoryMenu.cs"
|
||||
? ".Reactive<AetheriaRuntimeCurrentEntityDocument>(\"unity-inventory-menu\")"
|
||||
: ".Reactive<AetheriaRuntimeCurrentEntityDocument>(\"unity-inventory\")";
|
||||
var stationRefitAccess = name == "InventoryMenu.cs"
|
||||
? ".Reactive<AetheriaRuntimeStationRefitDocument>(\"unity-inventory-menu\")"
|
||||
: ".Reactive<AetheriaRuntimeStationRefitDocument>(\"unity-inventory\")";
|
||||
var requiredCompactedSymbols = new[]
|
||||
{
|
||||
".Reactive<AetheriaRuntimeCurrentEntityDocument>()",
|
||||
".Reactive<AetheriaRuntimeStationRefitDocument>()",
|
||||
currentEntityAccess,
|
||||
stationRefitAccess,
|
||||
".Reactive<AetheriaRuntimeInventoryDocument>(entityIndex)"
|
||||
};
|
||||
missingSymbols = missingSymbols
|
||||
|
|
@ -7256,7 +7259,7 @@ static void RequireInventoryValidationUsesManagedTypedDocuments(string root)
|
|||
name,
|
||||
"AetheriaRuntimeCurrentEntityDocument",
|
||||
"_currentEntity",
|
||||
".Reactive<AetheriaRuntimeCurrentEntityDocument>()",
|
||||
currentEntityAccess,
|
||||
"AetheriaRuntimeCurrentEntitySession",
|
||||
".ObserveEntity()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7264,7 +7267,7 @@ static void RequireInventoryValidationUsesManagedTypedDocuments(string root)
|
|||
name,
|
||||
"AetheriaRuntimeStationRefitDocument",
|
||||
"_stationRefit",
|
||||
".Reactive<AetheriaRuntimeStationRefitDocument>()",
|
||||
stationRefitAccess,
|
||||
"AetheriaRuntimeStationRefitSession",
|
||||
".ObserveStationRefit()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7383,7 +7386,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.Reactive<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal) ||
|
||||
!menuPanel.Contains(".Reactive<AetheriaRuntimeCurrentDockingDocument>(\"unity-runtime-menu-tabs\")", StringComparison.Ordinal) ||
|
||||
!menuPanel.Contains("docking = _currentDocking.Current", StringComparison.Ordinal) ||
|
||||
menuPanel.Contains("ResolveClient().State.Latest<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -7391,7 +7394,7 @@ static void RequireMenuDockingUsesManagedTypedSnapshot(string root)
|
|||
}
|
||||
|
||||
if (!tradeMenu.Contains("CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking", StringComparison.Ordinal) ||
|
||||
!tradeMenu.Contains("_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal) ||
|
||||
!tradeMenu.Contains(".Reactive<AetheriaRuntimeCurrentDockingDocument>(\"unity-trade\")", StringComparison.Ordinal) ||
|
||||
!tradeMenu.Contains("docking = _currentDocking.Current", StringComparison.Ordinal) ||
|
||||
tradeMenu.Contains("ResolveClient().State.Latest<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -7412,7 +7415,7 @@ static bool HasManagedDockingSnapshotAccess(string source)
|
|||
{
|
||||
if (source.Contains("AetheriaRuntimeCurrentDockingDocument", StringComparison.Ordinal) &&
|
||||
source.Contains("CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking", StringComparison.Ordinal) &&
|
||||
source.Contains("State.Reactive<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal) &&
|
||||
source.Contains(".Reactive<AetheriaRuntimeCurrentDockingDocument>(", StringComparison.Ordinal) &&
|
||||
source.Contains("_currentDocking.Current", StringComparison.Ordinal) &&
|
||||
!source.Contains("ResolveClient().State.Latest<AetheriaRuntimeCurrentDockingDocument>()", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -7724,8 +7727,8 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
missingMapRendererSharedDocumentSymbols = missingMapRendererSharedDocumentSymbols
|
||||
.Concat(new[]
|
||||
{
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport)",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)"
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport,\"unity-map-renderer\")",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport,\"unity-map-renderer\")"
|
||||
}.Where(symbol => !compactMapRenderer.Contains(symbol, StringComparison.Ordinal)))
|
||||
.ToArray();
|
||||
if (missingMapRendererSharedDocumentSymbols.Length > 0)
|
||||
|
|
@ -7740,7 +7743,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MapRenderer",
|
||||
"AetheriaRuntimeObjectsViewportDocument",
|
||||
"_objectsViewport",
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport)",
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport,\"unity-map-renderer\")",
|
||||
"AetheriaRuntimeObjectsViewportSession",
|
||||
".ObserveObjects(viewport)");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7748,7 +7751,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MapRenderer",
|
||||
"AetheriaRuntimeRenderSplatsViewportDocument",
|
||||
"_renderSplatsViewport",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport,\"unity-map-renderer\")",
|
||||
"AetheriaRuntimeRenderSplatsViewportSession",
|
||||
".ObserveRenderSplats(viewport)");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7756,7 +7759,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"MapRenderer",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-map-renderer\")",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -7851,7 +7854,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"TradeMenu",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>(\"unity-trade\")",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7859,7 +7862,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"TradeMenu",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-trade\")",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -7886,7 +7889,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"InventoryMenu",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>(\"unity-inventory-menu\")",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7894,7 +7897,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"InventoryMenu",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-inventory-menu\")",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -7924,7 +7927,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"InventoryPanel",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>(\"unity-inventory\")",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7932,7 +7935,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"InventoryPanel",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-inventory\")",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -7961,9 +7964,9 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
missingSectorRendererSharedDocumentSymbols = missingSectorRendererSharedDocumentSymbols
|
||||
.Concat(new[]
|
||||
{
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>()",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)"
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>(\"unity-sector-renderer\")",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex,\"unity-sector-renderer\")"
|
||||
}.Where(symbol => !compactSectorRenderer.Contains(symbol, StringComparison.Ordinal)))
|
||||
.ToArray();
|
||||
if (missingSectorRendererSharedDocumentSymbols.Length > 0)
|
||||
|
|
@ -7978,7 +7981,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMap",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7986,7 +7989,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCurrentZoneDocument",
|
||||
"_currentZone",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>()",
|
||||
".Reactive<AetheriaRuntimeCurrentZoneDocument>(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeCurrentZoneSession",
|
||||
".ObserveZone()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -7994,7 +7997,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeZoneDetailsDocument",
|
||||
"_zoneDetails",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)",
|
||||
".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex,\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeZoneDetailsSession",
|
||||
".ObserveZone(zoneIndex)");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -8002,7 +8005,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -8010,7 +8013,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"SectorRenderer",
|
||||
"AetheriaRuntimePlayerSettingsDocument",
|
||||
"_playerSettings",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-sector-renderer\")",
|
||||
"AetheriaRuntimePlayerSettingsSession",
|
||||
".ObservePlayer()");
|
||||
|
||||
|
|
@ -14673,18 +14676,18 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
var compactMapRenderer = CompactSource(mapRenderer);
|
||||
var compactSectorRenderer = CompactSource(sectorRenderer);
|
||||
var compactSectorMap = CompactSource(sectorMap);
|
||||
if (!mapRenderer.Contains("AetheriaUnityRuntimeClientProvider.ResolveClient(", 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.Reactive<AetheriaRuntimeSectorMapDocument>()", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".State.Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)", StringComparison.Ordinal) ||
|
||||
if (!mapRenderer.Contains("AetheriaUnityRuntimeClientProvider", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport,\"unity-map-renderer\")", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport,\"unity-map-renderer\")", StringComparison.Ordinal) ||
|
||||
!compactMapRenderer.Contains(".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-map-renderer\")", StringComparison.Ordinal) ||
|
||||
!sectorRenderer.Contains("AetheriaUnityRuntimeClientProvider", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-renderer\")", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex,\"unity-sector-renderer\")", StringComparison.Ordinal) ||
|
||||
!sectorRenderer.Contains(".Current", 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.Reactive<AetheriaRuntimeSectorMapDocument>()", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".Reactive<AetheriaRuntimeCatalogSnapshot>(\"unity-sector-renderer\")", StringComparison.Ordinal) ||
|
||||
!compactSectorRenderer.Contains(".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-sector-renderer\")", StringComparison.Ordinal) ||
|
||||
!sectorMap.Contains("AetheriaUnityRuntimeClientProvider", StringComparison.Ordinal) ||
|
||||
!compactSectorMap.Contains(".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-map\")", StringComparison.Ordinal) ||
|
||||
!sectorRenderer.Contains("AetheriaRuntimeZoneDetailsSurfaceBuilder.Facts(", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
|
|
@ -14703,7 +14706,7 @@ static void RequireUnityObserverDoesNotTickLocalSimulation(string root)
|
|||
"SectorMap",
|
||||
"AetheriaRuntimeSectorMapDocument",
|
||||
"_sectorMapDocument",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>()",
|
||||
".Reactive<AetheriaRuntimeSectorMapDocument>(\"unity-sector-map\")",
|
||||
"AetheriaRuntimeSectorMapSession",
|
||||
".ObserveSectorMap()");
|
||||
|
||||
|
|
@ -16282,13 +16285,18 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
"public static RuntimePlayerSettings PlayerSettings",
|
||||
"public static AetheriaClient ResolveClient(string stateFilePath, string runtimeId = \"\")",
|
||||
"public static AetheriaClient ResolveClient(AetheriaRuntimeStateBootReport stateBoot, string runtimeId = \"\")",
|
||||
"public static AetheriaClient RuntimeClient(string runtimeId = \"\")",
|
||||
"public static AetheriaClientState RuntimeState(string runtimeId = \"\")",
|
||||
"public static AetheriaControl Control(string runtimeId = \"\")",
|
||||
"public static CultMeshReactiveDocument<TDocument> Reactive<TDocument>(string runtimeId = \"\")",
|
||||
"public static CultMeshReactiveDocument<TDocument> Reactive<TDocument>(",
|
||||
"public static AetheriaClient CurrentClientForStateFile(string stateFilePath)",
|
||||
"private static readonly Dictionary<string, AetheriaClient> RuntimeClients",
|
||||
"RuntimeClients.TryGetValue(cacheKey, out var runtimeClient)",
|
||||
"RuntimeClients[cacheKey] = runtimeClient",
|
||||
"AetheriaClient",
|
||||
".State",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"_playerSettingsDocument.Current",
|
||||
"_playerSettingsDocument?.Dispose()",
|
||||
"OpenAsync(",
|
||||
|
|
@ -16345,7 +16353,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
|
|||
}
|
||||
|
||||
var missingProviderClientAccess = providerOwnedClientAccessSources
|
||||
.Where(pair => !pair.Value.Contains("AetheriaUnityRuntimeClientProvider.ResolveClient(", StringComparison.Ordinal))
|
||||
.Where(pair => !pair.Value.Contains("AetheriaUnityRuntimeClientProvider", StringComparison.Ordinal))
|
||||
.Select(pair => pair.Key)
|
||||
.ToArray();
|
||||
if (missingProviderClientAccess.Length > 0)
|
||||
|
|
@ -17632,7 +17640,7 @@ static void RequireInventoryDoubleClickTransferRequestAuthority(string root)
|
|||
"TryResolveTypedInventoryRows(",
|
||||
"TryValidateTypedCargoSlot(",
|
||||
"TryValidateTypedEquipmentSlot(",
|
||||
".State.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex)",
|
||||
".Reactive<AetheriaRuntimeInventoryDocument>(entityIndex)",
|
||||
"origin.Cargo.TryGetValue(item, out var originPosition)",
|
||||
"SourceIndex == cargoIndex",
|
||||
"SourceIndex == equipmentIndex",
|
||||
|
|
@ -17649,7 +17657,7 @@ static void RequireInventoryDoubleClickTransferRequestAuthority(string root)
|
|||
if (missingTypedSlotValidationSymbols.Length > 0)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"Inventory cargo/equipment submissions must validate Unity facade adapters against typed inventory document slot identity: " +
|
||||
"Inventory cargo/equipment submissions must validate Unity inventory items against typed inventory document slot identity: " +
|
||||
string.Join(", ", missingTypedSlotValidationSymbols));
|
||||
}
|
||||
|
||||
|
|
@ -18185,7 +18193,7 @@ static void RequireInventoryLoadoutSaveRequestAuthority(string root)
|
|||
"CultMeshReactiveDocument<AetheriaRuntimeDaemonFrameDocument> _loadoutFrame",
|
||||
"CreateLoadoutTemplate(targetEntityKey)",
|
||||
".CreateLoadoutTemplate(targetEntityKey ?? \"\")",
|
||||
".Reactive<AetheriaRuntimeDaemonFrameDocument>()",
|
||||
".Reactive<AetheriaRuntimeDaemonFrameDocument>(\"unity-inventory\")",
|
||||
"_loadoutFrame?.Dispose()",
|
||||
".Ui.SaveLoadoutTemplateAsync(loadout, \"unity-inventory\")"
|
||||
};
|
||||
|
|
@ -18211,7 +18219,7 @@ static void RequireInventoryLoadoutSaveRequestAuthority(string root)
|
|||
"InventoryPanel",
|
||||
"AetheriaRuntimeDaemonFrameDocument",
|
||||
"_loadoutFrame",
|
||||
".Reactive<AetheriaRuntimeDaemonFrameDocument>()",
|
||||
".Reactive<AetheriaRuntimeDaemonFrameDocument>(\"unity-inventory\")",
|
||||
"AetheriaRuntimeDaemonFrameSession",
|
||||
".ObserveDaemonFrame()");
|
||||
|
||||
|
|
|
|||
|
|
@ -57,6 +57,43 @@ public static class AetheriaUnityRuntimeClientProvider
|
|||
string.IsNullOrWhiteSpace(runtimeId) ? stateBoot.RuntimeId : runtimeId);
|
||||
}
|
||||
|
||||
public static AetheriaClient RuntimeClient(string runtimeId = "")
|
||||
{
|
||||
return ResolveClient(AetheriaUnityRuntimePaths.RuntimeStateFilePath, runtimeId);
|
||||
}
|
||||
|
||||
public static AetheriaClientState RuntimeState(string runtimeId = "")
|
||||
{
|
||||
return RuntimeClient(runtimeId).State;
|
||||
}
|
||||
|
||||
public static AetheriaControl Control(string runtimeId = "")
|
||||
{
|
||||
return RuntimeClient(runtimeId).Control;
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<TDocument> Reactive<TDocument>(string runtimeId = "")
|
||||
where TDocument : class
|
||||
{
|
||||
return RuntimeState(runtimeId).Reactive<TDocument>();
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<TDocument> Reactive<TDocument>(
|
||||
AetheriaRuntimeRtsViewportBounds viewport,
|
||||
string runtimeId = "")
|
||||
where TDocument : class
|
||||
{
|
||||
return RuntimeState(runtimeId).Reactive<TDocument>(viewport);
|
||||
}
|
||||
|
||||
public static CultMeshReactiveDocument<TDocument> Reactive<TDocument>(
|
||||
int index,
|
||||
string runtimeId = "")
|
||||
where TDocument : class
|
||||
{
|
||||
return RuntimeState(runtimeId).Reactive<TDocument>(index);
|
||||
}
|
||||
|
||||
public static AetheriaClient CurrentClientForStateFile(string stateFilePath)
|
||||
{
|
||||
foreach (var pair in RuntimeClients)
|
||||
|
|
@ -94,8 +131,7 @@ public static class AetheriaUnityRuntimeClientProvider
|
|||
{
|
||||
try
|
||||
{
|
||||
_playerSettingsDocument ??= ResolveClient(AetheriaUnityRuntimePaths.RuntimeStateFilePath)
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
_playerSettingsDocument ??= Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
|
||||
var stored = _playerSettingsDocument.Current;
|
||||
if (stored == null)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ public class InventoryMenu : MonoBehaviour
|
|||
private UIDocument _shipSettingsSurfaceDocument;
|
||||
private UIDocument _cargoItemDetailsSurfaceDocument;
|
||||
private UIDocument _equippedItemDetailsSurfaceDocument;
|
||||
private string _clientStatePath = "";
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot> _catalog;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCurrentEntityDocument> _currentEntity;
|
||||
|
|
@ -898,7 +897,7 @@ public class InventoryMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
submit(ResolveClient().Control);
|
||||
submit(AetheriaUnityRuntimeClientProvider.Control("unity-inventory-menu"));
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -908,18 +907,6 @@ public class InventoryMenu : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
|
||||
if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal))
|
||||
{
|
||||
_clientStatePath = stateBoot.StateFilePath;
|
||||
ClearClientCaches();
|
||||
}
|
||||
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, "unity-inventory-menu");
|
||||
}
|
||||
|
||||
private void ClearClientCaches()
|
||||
{
|
||||
_catalog?.Dispose();
|
||||
|
|
@ -944,8 +931,8 @@ public class InventoryMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_currentEntity = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
|
||||
_currentEntity = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCurrentEntityDocument>("unity-inventory-menu");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -962,8 +949,8 @@ public class InventoryMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_stationRefit = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeStationRefitDocument>();
|
||||
_stationRefit = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeStationRefitDocument>("unity-inventory-menu");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -980,8 +967,9 @@ public class InventoryMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
var nextInventory = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex);
|
||||
var nextInventory = AetheriaUnityRuntimeClientProvider
|
||||
.RuntimeState("unity-inventory-menu")
|
||||
.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex);
|
||||
_inventory?.Dispose();
|
||||
_inventoryEntityIndex = entityIndex;
|
||||
_inventory = nextInventory;
|
||||
|
|
@ -1053,7 +1041,8 @@ public class InventoryMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
_catalog = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCatalogSnapshot>("unity-inventory-menu");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1070,8 +1059,8 @@ public class InventoryMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
_playerSettings = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimePlayerSettingsDocument>("unity-inventory-menu");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ public class InventoryPanel : MonoBehaviour, IPointerClickHandler
|
|||
private int _clickCount;
|
||||
private InventoryCell _clickCell;
|
||||
private float _clickTime;
|
||||
private string _clientStatePath = "";
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot> _catalog;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCurrentEntityDocument> _currentEntity;
|
||||
|
|
@ -1080,7 +1079,7 @@ private void Update()
|
|||
|
||||
try
|
||||
{
|
||||
var client = ResolveClient();
|
||||
var client = AetheriaUnityRuntimeClientProvider.RuntimeClient("unity-inventory");
|
||||
var loadout = CreateLoadoutTemplate(targetEntityKey);
|
||||
if (loadout?.RootEntity == null || string.IsNullOrWhiteSpace(loadout.RootEntity.Hull?.ItemKey ?? ""))
|
||||
return;
|
||||
|
|
@ -1455,7 +1454,7 @@ private void Update()
|
|||
|
||||
try
|
||||
{
|
||||
submit(ResolveClient().Control);
|
||||
submit(AetheriaUnityRuntimeClientProvider.Control("unity-inventory"));
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -1465,18 +1464,6 @@ private void Update()
|
|||
}
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
|
||||
if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal))
|
||||
{
|
||||
_clientStatePath = stateBoot.StateFilePath;
|
||||
ClearClientCaches();
|
||||
}
|
||||
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, "unity-inventory");
|
||||
}
|
||||
|
||||
private void ClearClientCaches()
|
||||
{
|
||||
_catalog?.Dispose();
|
||||
|
|
@ -1503,8 +1490,8 @@ private void Update()
|
|||
|
||||
try
|
||||
{
|
||||
_currentEntity = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
|
||||
_currentEntity = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCurrentEntityDocument>("unity-inventory");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1521,8 +1508,8 @@ private void Update()
|
|||
|
||||
try
|
||||
{
|
||||
_stationRefit = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeStationRefitDocument>();
|
||||
_stationRefit = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeStationRefitDocument>("unity-inventory");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1546,8 +1533,8 @@ private void Update()
|
|||
|
||||
try
|
||||
{
|
||||
_loadoutFrame = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
|
||||
_loadoutFrame = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeDaemonFrameDocument>("unity-inventory");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1564,8 +1551,9 @@ private void Update()
|
|||
|
||||
try
|
||||
{
|
||||
var nextInventory = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex);
|
||||
var nextInventory = AetheriaUnityRuntimeClientProvider
|
||||
.RuntimeState("unity-inventory")
|
||||
.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex);
|
||||
_inventory?.Dispose();
|
||||
_inventoryEntityIndex = entityIndex;
|
||||
_inventory = nextInventory;
|
||||
|
|
@ -1585,7 +1573,8 @@ private void Update()
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
_catalog = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCatalogSnapshot>("unity-inventory");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1602,8 +1591,8 @@ private void Update()
|
|||
|
||||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
_playerSettings = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimePlayerSettingsDocument>("unity-inventory");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ public class LocalMenu : MonoBehaviour
|
|||
private readonly AetheriaEveUnitySurfaceChrome _surfaceChrome = new AetheriaEveUnitySurfaceChrome();
|
||||
private AetheriaUnityObservedEntityIndex _observedEntityIndex;
|
||||
private AetheriaUnityObservedDockingIndex _observedDockingIndex;
|
||||
private string _clientStatePath = "";
|
||||
|
||||
public void SetObservedEntityIndex(AetheriaUnityObservedEntityIndex observedEntityIndex)
|
||||
{
|
||||
|
|
@ -224,23 +223,12 @@ public class LocalMenu : MonoBehaviour
|
|||
if (_observedEntityIndex == null)
|
||||
return false;
|
||||
|
||||
dockingIndex = _observedDockingIndex ??= new AetheriaUnityObservedDockingIndex(ResolveClient, _observedEntityIndex);
|
||||
dockingIndex = _observedDockingIndex ??= new AetheriaUnityObservedDockingIndex(
|
||||
() => AetheriaUnityRuntimeClientProvider.RuntimeClient("unity-runtime-local-story"),
|
||||
_observedEntityIndex);
|
||||
return true;
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
|
||||
if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal))
|
||||
{
|
||||
_clientStatePath = stateBoot.StateFilePath;
|
||||
_observedDockingIndex?.Dispose();
|
||||
_observedDockingIndex = null;
|
||||
}
|
||||
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, "unity-runtime-local-story");
|
||||
}
|
||||
|
||||
private void HideStorySurface()
|
||||
{
|
||||
if (_surfaceDocument == null)
|
||||
|
|
|
|||
|
|
@ -44,7 +44,6 @@ public class MapRenderer : MonoBehaviour
|
|||
private CultMeshReactiveDocument<AetheriaRuntimeRenderSplatsViewportDocument> _renderSplatsViewport;
|
||||
private float _nextViewportRefreshTime;
|
||||
private readonly List<RawImage> _rtsIconPool = new List<RawImage>();
|
||||
private string _clientStatePath = "";
|
||||
private CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings;
|
||||
|
||||
void Start()
|
||||
|
|
@ -126,11 +125,12 @@ public class MapRenderer : MonoBehaviour
|
|||
_nextViewportRefreshTime = Time.unscaledTime + .5f;
|
||||
try
|
||||
{
|
||||
var client = ResolveClient();
|
||||
var viewport = ResolveViewportBounds();
|
||||
ClearViewportCaches();
|
||||
_objectsViewport = client.State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport);
|
||||
_renderSplatsViewport = client.State.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport);
|
||||
_objectsViewport = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport, "unity-map-renderer");
|
||||
_renderSplatsViewport = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport, "unity-map-renderer");
|
||||
|
||||
var objectsViewport = _objectsViewport?.Current;
|
||||
var zoneName = string.IsNullOrWhiteSpace(objectsViewport?.ZoneName)
|
||||
|
|
@ -312,8 +312,8 @@ public class MapRenderer : MonoBehaviour
|
|||
{
|
||||
try
|
||||
{
|
||||
_playerSettings ??= ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
_playerSettings ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimePlayerSettingsDocument>("unity-map-renderer");
|
||||
return _playerSettings?.Current?.ShowAsteroidsInMinimap ?? false;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -323,20 +323,6 @@ public class MapRenderer : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
|
||||
if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal))
|
||||
{
|
||||
_clientStatePath = stateBoot.StateFilePath;
|
||||
ClearClientCaches();
|
||||
}
|
||||
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(
|
||||
stateBoot,
|
||||
"unity-map-renderer");
|
||||
}
|
||||
|
||||
private void ClearClientCaches()
|
||||
{
|
||||
ClearViewportCaches();
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ public class MenuPanel : MonoBehaviour
|
|||
private MenuTabBinding _current;
|
||||
private UIDocument _tabSurfaceDocument;
|
||||
private readonly AetheriaEveUnitySurfaceChrome _tabSurfaceChrome = new AetheriaEveUnitySurfaceChrome();
|
||||
private string _clientStatePath = "";
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking;
|
||||
|
||||
public MenuTab CurrentTab { get; private set; }
|
||||
|
|
@ -173,7 +172,8 @@ public class MenuPanel : MonoBehaviour
|
|||
docking = null;
|
||||
try
|
||||
{
|
||||
_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>();
|
||||
_currentDocking ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCurrentDockingDocument>("unity-runtime-menu-tabs");
|
||||
docking = _currentDocking.Current;
|
||||
return docking != null;
|
||||
}
|
||||
|
|
@ -184,17 +184,6 @@ public class MenuPanel : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
|
||||
if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal))
|
||||
{
|
||||
_clientStatePath = stateBoot.StateFilePath;
|
||||
}
|
||||
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, "unity-runtime-menu-tabs");
|
||||
}
|
||||
|
||||
private static string GetTabLabel(MenuTabBinding tabBinding)
|
||||
{
|
||||
return string.IsNullOrWhiteSpace(tabBinding.Label)
|
||||
|
|
|
|||
|
|
@ -221,8 +221,8 @@ public class SectorMap : MonoBehaviour
|
|||
|
||||
private void EnsureSectorMapLoaded()
|
||||
{
|
||||
_sectorMapDocument ??= ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeSectorMapDocument>();
|
||||
_sectorMapDocument ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeSectorMapDocument>("unity-sector-map");
|
||||
_sectorMap = _sectorMapDocument?.Current;
|
||||
|
||||
if (_sectorMapLoaded)
|
||||
|
|
@ -497,13 +497,6 @@ public class SectorMap : MonoBehaviour
|
|||
InfluenceCamera.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(
|
||||
AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory),
|
||||
"unity-sector-map");
|
||||
}
|
||||
|
||||
private static float2 Position(AetheriaRuntimeSectorMapZone zone)
|
||||
{
|
||||
return new float2((float)zone.X, (float)zone.Y);
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
private float _sectorBackgroundDepth;
|
||||
private float _sectorCameraDepth;
|
||||
private UIDocument _zoneDetailsSurfaceDocument;
|
||||
private string _clientStatePath = "";
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot> _catalog;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeSectorMapDocument> _sectorMap;
|
||||
|
|
@ -169,8 +168,8 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
|
||||
try
|
||||
{
|
||||
_sectorMap ??= ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeSectorMapDocument>();
|
||||
_sectorMap ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeSectorMapDocument>("unity-sector-renderer");
|
||||
var sectorMap = _sectorMap?.Current;
|
||||
return (sectorMap?.Zones ?? Array.Empty<AetheriaRuntimeSectorMapZone>())
|
||||
.FirstOrDefault(zone => zone.ZoneIndex == zoneIndex);
|
||||
|
|
@ -197,8 +196,8 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
|
||||
try
|
||||
{
|
||||
var nextZoneDetails = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex);
|
||||
var nextZoneDetails = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex, "unity-sector-renderer");
|
||||
_zoneDetails?.Dispose();
|
||||
_zoneDetailsIndex = zoneIndex;
|
||||
_zoneDetails = nextZoneDetails;
|
||||
|
|
@ -224,7 +223,8 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
_catalog = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCatalogSnapshot>("unity-sector-renderer");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -241,8 +241,8 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
|
||||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
_playerSettings = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimePlayerSettingsDocument>("unity-sector-renderer");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -267,18 +267,6 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
: formatted;
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
|
||||
if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal))
|
||||
{
|
||||
_clientStatePath = stateBoot.StateFilePath;
|
||||
ClearClientCaches();
|
||||
}
|
||||
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, "unity-sector-renderer");
|
||||
}
|
||||
|
||||
private void ClearClientCaches()
|
||||
{
|
||||
_catalog?.Dispose();
|
||||
|
|
@ -312,8 +300,8 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
|
|||
{
|
||||
try
|
||||
{
|
||||
_currentZone ??= ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeCurrentZoneDocument>();
|
||||
_currentZone ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCurrentZoneDocument>("unity-sector-renderer");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@ public class TradeMenu : MonoBehaviour
|
|||
private UIDocument _filterSurfaceDocument;
|
||||
private UIDocument _rowActionSurfaceDocument;
|
||||
private UIDocument _tradeItemSurfaceDocument;
|
||||
private string _clientStatePath = "";
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot> _catalog;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> _currentDocking;
|
||||
|
|
@ -518,7 +517,8 @@ public class TradeMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_stationRefit = ResolveClient().State.Reactive<AetheriaRuntimeStationRefitDocument>();
|
||||
_stationRefit = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeStationRefitDocument>("unity-trade");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -533,7 +533,8 @@ public class TradeMenu : MonoBehaviour
|
|||
docking = null;
|
||||
try
|
||||
{
|
||||
_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>();
|
||||
_currentDocking ??= AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCurrentDockingDocument>("unity-trade");
|
||||
docking = _currentDocking.Current;
|
||||
return docking != null;
|
||||
}
|
||||
|
|
@ -585,7 +586,7 @@ public class TradeMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
submit(ResolveClient().Control);
|
||||
submit(AetheriaUnityRuntimeClientProvider.Control("unity-trade"));
|
||||
InvalidateStationRefit();
|
||||
return true;
|
||||
}
|
||||
|
|
@ -596,18 +597,6 @@ public class TradeMenu : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
|
||||
if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal))
|
||||
{
|
||||
_clientStatePath = stateBoot.StateFilePath;
|
||||
ClearClientCaches();
|
||||
}
|
||||
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, "unity-trade");
|
||||
}
|
||||
|
||||
private void ClearClientCaches()
|
||||
{
|
||||
_catalog?.Dispose();
|
||||
|
|
@ -627,7 +616,8 @@ public class TradeMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
_catalog = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCatalogSnapshot>("unity-trade");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -644,8 +634,8 @@ public class TradeMenu : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
_playerSettings = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimePlayerSettingsDocument>("unity-trade");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue