Narrow daemon observer state access

This commit is contained in:
Meta Vens 2026-06-29 06:48:51 +01:00
commit 4d83407665
2 changed files with 9 additions and 7 deletions

View file

@ -16774,8 +16774,8 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
string.Join(", ", actionGameManagerReaderHits));
}
if (!daemonObserver.Contains("AetheriaClient", StringComparison.Ordinal) ||
!daemonObserver.Contains("AetheriaUnityRuntimeClientProvider.ResolveClient(", StringComparison.Ordinal) ||
if (!daemonObserver.Contains("AetheriaClientState ResolveState()", StringComparison.Ordinal) ||
!daemonObserver.Contains("AetheriaUnityRuntimeClientProvider.RuntimeState(stateBoot, clientId)", StringComparison.Ordinal) ||
!daemonObserver.Contains("AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory)", StringComparison.Ordinal) ||
!daemonObserver.Contains("AetheriaRuntimeDaemonRenderView", StringComparison.Ordinal) ||
!daemonObserver.Contains("CultMeshReactiveDocument<AetheriaRuntimeDaemonFrameDocument> _daemonFrame", StringComparison.Ordinal) ||
@ -16792,6 +16792,10 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
}
if (daemonObserver.Contains("AetheriaRuntimeStateReader.TryReadDaemonRenderView", StringComparison.Ordinal) ||
daemonObserver.Contains("public AetheriaClient Client", StringComparison.Ordinal) ||
daemonObserver.Contains("public AetheriaControl Control", StringComparison.Ordinal) ||
daemonObserver.Contains("AetheriaUnityRuntimeClientProvider.ResolveClient(", StringComparison.Ordinal) ||
daemonObserver.Contains("ResolveClient()?.State", StringComparison.Ordinal) ||
daemonObserver.Contains(".ReadAsync(client.State)", StringComparison.Ordinal) ||
daemonObserver.Contains("AetheriaRuntimeReactiveObservedDaemonState", StringComparison.Ordinal) ||
daemonObserver.Contains(".ReactiveObservedDaemon()", StringComparison.Ordinal) ||

View file

@ -36,8 +36,6 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour
public AetheriaDaemonSoaMemoryMap LastSoaMemoryMap => _soaMemoryMap;
public AetheriaDaemonRenderNativeView LastRenderNativeView => _renderNativeView;
public bool HasRenderNativeView => _renderNativeView.IsCreated;
public AetheriaClient Client => ResolveClient();
public AetheriaControl Control => Client.Control;
public event Action<AetheriaRuntimeDaemonRenderView, AetheriaRuntimeDaemonObservationResult> DaemonRenderViewChanged;
@ -125,7 +123,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour
return;
}
var state = ResolveClient()?.State;
var state = ResolveState();
if (state == null)
{
return;
@ -150,7 +148,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour
}
}
private AetheriaClient ResolveClient()
private AetheriaClientState ResolveState()
{
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
if (!stateBoot.SupportsLocalStateFileRead || !stateBoot.StateFileExists)
@ -159,7 +157,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour
$"Aetheria daemon observer requires a readable local Verse state file: {stateBoot.FailureMessage}");
}
return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, clientId);
return AetheriaUnityRuntimeClientProvider.RuntimeState(stateBoot, clientId);
}
private void RemapSoaView(AetheriaRuntimeDaemonRenderView observed)