Expose native Unity runtime state access

This commit is contained in:
Meta Vens 2026-06-29 06:10:30 +01:00
commit d10da01a69
10 changed files with 166 additions and 210 deletions

View file

@ -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)