From 988b72d2bad8fee1c17b7a3b1cd9cf95ffc0dda0 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Mon, 29 Jun 2026 12:17:14 +0100 Subject: [PATCH] Expose native Unity current document access --- Aetheria.State.Verify/Program.cs | 26 +++++++------- Assets/Scripts/Gameplay/ActionBarSlot.cs | 1 - .../AetheriaUnityRuntimeClientProvider.cs | 34 +++++++++++++++++++ Assets/Scripts/UI/HUD/SchematicDisplay.cs | 11 ++---- Assets/Scripts/UI/Menu/TradeMenu.cs | 12 ++----- 5 files changed, 53 insertions(+), 31 deletions(-) diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index 448fb8fd4..40a02decc 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -2562,10 +2562,9 @@ static void RequireDaemonRenderQueryAuthority(string root) { "CatalogSnapshot()", "CurrentEntityHudStatus()", - ".RuntimeState(\"unity-schematic-display\")", - ".CurrentCatalog()", - ".CurrentPlayerSettings()", - ".CurrentEntityState()", + "AetheriaUnityRuntimeClientProvider.CurrentCatalog(\"unity-schematic-display\")", + "AetheriaUnityRuntimeClientProvider.CurrentPlayerSettings(\"unity-schematic-display\")", + ".CurrentEntityState(\"unity-schematic-display\")", "?.Hud ?? new AetheriaRuntimeCurrentEntityHudStatus();", "hud.OverrideShutdown", "hud.HeatsinksEnabled", @@ -5796,8 +5795,7 @@ static void RequireTradeCargoSelectorUseEveSurface(string root) "AetheriaRuntimeTradeCargoSelectorSurfaceCommands.TryRead(request, out var command)", "AetheriaRuntimeTradeCargoSelectorCommandKind.Close", "AetheriaRuntimeTradeCargoSelectorCommandKind.Select", - ".RuntimeState(\"unity-trade\")", - ".CurrentStationRefit()", + "AetheriaUnityRuntimeClientProvider.CurrentStationRefit(\"unity-trade\")", "AetheriaUnityRuntimeClientProvider.CurrentDockingState(\"unity-trade\")", "SetTargetCargo(", "selection.EntityKey", @@ -7546,7 +7544,6 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) { "public abstract class ActionBarBinding", "AetheriaUnityRuntimeClientProvider", - ".RuntimeState()", ".CurrentCatalog()", ".FindItem(item, x => x.ItemKey)", "private void OnDestroy()" @@ -7589,10 +7586,9 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) "AetheriaRuntimePlayerHudState.cs"); var requiredSchematicDisplaySymbols = new[] { - ".RuntimeState(\"unity-schematic-display\")", - ".CurrentCatalog()", - ".CurrentPlayerSettings()", - ".CurrentEntityState()", + "AetheriaUnityRuntimeClientProvider.CurrentCatalog(\"unity-schematic-display\")", + "AetheriaUnityRuntimeClientProvider.CurrentPlayerSettings(\"unity-schematic-display\")", + ".CurrentEntityState(\"unity-schematic-display\")", "CatalogSnapshot()?.FindItem(item, x => x.ItemKey)", "private AetheriaRuntimeCatalogSnapshot CatalogSnapshot()", "private AetheriaRuntimePlayerSettingsDocument PlayerSettingsSnapshot()", @@ -7859,8 +7855,8 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) var compactTradeMenu = CompactSource(tradeMenu); var requiredTradeMenuSharedDocumentSymbols = new[] { - ".RuntimeState(\"unity-trade\").CurrentCatalog()", - ".RuntimeState(\"unity-trade\").CurrentPlayerSettings()", + "AetheriaUnityRuntimeClientProvider.CurrentCatalog(\"unity-trade\")", + "AetheriaUnityRuntimeClientProvider.CurrentPlayerSettings(\"unity-trade\")", "private void OnDestroy()" }; var missingTradeMenuSharedDocumentSymbols = requiredTradeMenuSharedDocumentSymbols @@ -16463,6 +16459,10 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) "public static AetheriaClientState RuntimeState(string runtimeId = \"\")", "public static AetheriaRuntimeCurrentDockingDocument CurrentDockingState(string runtimeId = \"\")", "public static AetheriaRuntimeCurrentDockingDocument CurrentDockingState(", + "public static AetheriaRuntimeCatalogSnapshot CurrentCatalog(string runtimeId = \"\")", + "public static AetheriaRuntimePlayerSettingsDocument CurrentPlayerSettings(string runtimeId = \"\")", + "public static AetheriaRuntimeCurrentEntityDocument CurrentEntityState(string runtimeId = \"\")", + "public static AetheriaRuntimeStationRefitDocument CurrentStationRefit(string runtimeId = \"\")", "public static AetheriaControl Control(string runtimeId = \"\")", "public static AetheriaUi Ui(string runtimeId = \"\")", "public static AetheriaUi Ui(", diff --git a/Assets/Scripts/Gameplay/ActionBarSlot.cs b/Assets/Scripts/Gameplay/ActionBarSlot.cs index 7e927a5b7..67f0d813c 100644 --- a/Assets/Scripts/Gameplay/ActionBarSlot.cs +++ b/Assets/Scripts/Gameplay/ActionBarSlot.cs @@ -98,7 +98,6 @@ public abstract class ActionBarBinding try { return AetheriaUnityRuntimeClientProvider - .RuntimeState() .CurrentCatalog() .FindItem(item, x => x.ItemKey); } diff --git a/Assets/Scripts/Gameplay/AetheriaUnityRuntimeClientProvider.cs b/Assets/Scripts/Gameplay/AetheriaUnityRuntimeClientProvider.cs index 45721246b..46218b46e 100644 --- a/Assets/Scripts/Gameplay/AetheriaUnityRuntimeClientProvider.cs +++ b/Assets/Scripts/Gameplay/AetheriaUnityRuntimeClientProvider.cs @@ -92,6 +92,40 @@ public static class AetheriaUnityRuntimeClientProvider return RuntimeState(stateBoot, runtimeId).CurrentDockingState(); } + public static AetheriaRuntimeCatalogSnapshot CurrentCatalog(string runtimeId = "") + { + return RuntimeState(runtimeId).CurrentCatalog(); + } + + public static AetheriaRuntimeCatalogSnapshot CurrentCatalog( + AetheriaRuntimeStateBootReport stateBoot, + string runtimeId = "") + { + return RuntimeState(stateBoot, runtimeId).CurrentCatalog(); + } + + public static AetheriaRuntimePlayerSettingsDocument CurrentPlayerSettings(string runtimeId = "") + { + return RuntimeState(runtimeId).CurrentPlayerSettings(); + } + + public static AetheriaRuntimePlayerSettingsDocument CurrentPlayerSettings( + AetheriaRuntimeStateBootReport stateBoot, + string runtimeId = "") + { + return RuntimeState(stateBoot, runtimeId).CurrentPlayerSettings(); + } + + public static AetheriaRuntimeCurrentEntityDocument CurrentEntityState(string runtimeId = "") + { + return RuntimeState(runtimeId).CurrentEntityState(); + } + + public static AetheriaRuntimeStationRefitDocument CurrentStationRefit(string runtimeId = "") + { + return RuntimeState(runtimeId).CurrentStationRefit(); + } + public static AetheriaControl Control(string runtimeId = "") { return RuntimeClient(runtimeId).Control; diff --git a/Assets/Scripts/UI/HUD/SchematicDisplay.cs b/Assets/Scripts/UI/HUD/SchematicDisplay.cs index 3be0c7103..333d1e225 100644 --- a/Assets/Scripts/UI/HUD/SchematicDisplay.cs +++ b/Assets/Scripts/UI/HUD/SchematicDisplay.cs @@ -318,9 +318,7 @@ public class SchematicDisplay : MonoBehaviour { try { - return AetheriaUnityRuntimeClientProvider - .RuntimeState("unity-schematic-display") - .CurrentCatalog(); + return AetheriaUnityRuntimeClientProvider.CurrentCatalog("unity-schematic-display"); } catch (Exception ex) { @@ -334,9 +332,7 @@ public class SchematicDisplay : MonoBehaviour { try { - return AetheriaUnityRuntimeClientProvider - .RuntimeState("unity-schematic-display") - .CurrentPlayerSettings(); + return AetheriaUnityRuntimeClientProvider.CurrentPlayerSettings("unity-schematic-display"); } catch (Exception ex) { @@ -351,8 +347,7 @@ public class SchematicDisplay : MonoBehaviour try { return AetheriaUnityRuntimeClientProvider - .RuntimeState("unity-schematic-display") - .CurrentEntityState() + .CurrentEntityState("unity-schematic-display") ?.Hud ?? new AetheriaRuntimeCurrentEntityHudStatus(); } catch (Exception ex) diff --git a/Assets/Scripts/UI/Menu/TradeMenu.cs b/Assets/Scripts/UI/Menu/TradeMenu.cs index 6eba1b369..54ef3b222 100644 --- a/Assets/Scripts/UI/Menu/TradeMenu.cs +++ b/Assets/Scripts/UI/Menu/TradeMenu.cs @@ -504,9 +504,7 @@ public class TradeMenu : MonoBehaviour { try { - return AetheriaUnityRuntimeClientProvider - .RuntimeState("unity-trade") - .CurrentStationRefit(); + return AetheriaUnityRuntimeClientProvider.CurrentStationRefit("unity-trade"); } catch (Exception ex) { @@ -579,9 +577,7 @@ public class TradeMenu : MonoBehaviour { try { - return AetheriaUnityRuntimeClientProvider - .RuntimeState("unity-trade") - .CurrentCatalog(); + return AetheriaUnityRuntimeClientProvider.CurrentCatalog("unity-trade"); } catch (Exception ex) { @@ -594,9 +590,7 @@ public class TradeMenu : MonoBehaviour { try { - return AetheriaUnityRuntimeClientProvider - .RuntimeState("unity-trade") - .CurrentPlayerSettings(); + return AetheriaUnityRuntimeClientProvider.CurrentPlayerSettings("unity-trade"); } catch (Exception ex) {