diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index 5ea48cb35..338eceffc 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -16503,7 +16503,6 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) var requiredRuntimeClientProviderSymbols = new[] { "public static class AetheriaUnityRuntimeClientProvider", - "private static CultMeshReactiveDocument _playerSettingsDocument", "public static RuntimePlayerSettings PlayerSettings", "private static AetheriaClient ResolveClient(string stateFilePath, string runtimeId = \"\")", "private static AetheriaClient ResolveClient(AetheriaRuntimeStateBootReport stateBoot, string runtimeId = \"\")", @@ -16519,9 +16518,7 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) "RuntimeClients[cacheKey] = runtimeClient", "AetheriaClient", ".State", - "RuntimeState().ReactivePlayerSettingsDocument()", - "_playerSettingsDocument.Current", - "_playerSettingsDocument?.Dispose()", + "RuntimeState().CurrentPlayerSettings()", "OpenAsync(", "pullOnOpen: true", "ApplyPlayerSettings(settings, stored)" @@ -16538,10 +16535,14 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root) if (runtimeClientProvider.Contains("public static CultMeshReactiveDocument Reactive", StringComparison.Ordinal) || runtimeClientProvider.Contains("public static CultMeshReactiveDocument ReactiveEveSurface(", StringComparison.Ordinal)) + runtimeClientProvider.Contains("public static CultMeshReactiveDocument ReactiveEveSurface(", StringComparison.Ordinal) || + runtimeClientProvider.Contains("private static CultMeshReactiveDocument _playerSettingsDocument", StringComparison.Ordinal) || + runtimeClientProvider.Contains("RuntimeState().ReactivePlayerSettingsDocument()", StringComparison.Ordinal) || + runtimeClientProvider.Contains("_playerSettingsDocument.Current", StringComparison.Ordinal) || + runtimeClientProvider.Contains("_playerSettingsDocument?.Dispose()", StringComparison.Ordinal)) { throw new InvalidOperationException( - "AetheriaUnityRuntimeClientProvider should expose RuntimeState/Control/Ui and let AetheriaClientState own typed reactive document access; do not rebuild static ReactiveX facade wrappers."); + "AetheriaUnityRuntimeClientProvider should expose RuntimeState/Control/Ui and read named current typed state for cached settings; do not rebuild static ReactiveX facade wrappers."); } if (runtimeClientProvider.Contains("AetheriaRuntimePlayerSettingsSession _playerSettingsDocument", StringComparison.Ordinal) || diff --git a/Assets/Scripts/Gameplay/AetheriaUnityRuntimeClientProvider.cs b/Assets/Scripts/Gameplay/AetheriaUnityRuntimeClientProvider.cs index 68ff0ac24..994476254 100644 --- a/Assets/Scripts/Gameplay/AetheriaUnityRuntimeClientProvider.cs +++ b/Assets/Scripts/Gameplay/AetheriaUnityRuntimeClientProvider.cs @@ -13,7 +13,6 @@ public static class AetheriaUnityRuntimeClientProvider { private static readonly Dictionary RuntimeClients = new Dictionary(StringComparer.Ordinal); - private static CultMeshReactiveDocument _playerSettingsDocument; private static RuntimePlayerSettings _runtimePlayerSettings; private static bool _playerSettingsLoaded; @@ -119,8 +118,6 @@ public static class AetheriaUnityRuntimeClientProvider public static void Dispose() { - _playerSettingsDocument?.Dispose(); - _playerSettingsDocument = null; _runtimePlayerSettings = null; _playerSettingsLoaded = false; @@ -138,16 +135,14 @@ public static class AetheriaUnityRuntimeClientProvider { try { - _playerSettingsDocument ??= RuntimeState().ReactivePlayerSettingsDocument(); - - var stored = _playerSettingsDocument.Current; + var stored = RuntimeState().CurrentPlayerSettings(); if (stored == null) return; ApplyPlayerSettings(settings, stored); if (!_playerSettingsLoaded) { - Debug.Log("Loaded Aetheria Verse player settings from reactive typed state."); + Debug.Log("Loaded Aetheria Verse player settings from typed state."); _playerSettingsLoaded = true; } }