From 692fc6e2b1bd462cf3c9273f10ecc0fe4e1c0835 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 28 Jun 2026 16:12:35 +0100 Subject: [PATCH] Use reactive player settings in volume clouds --- Aetheria.State.Verify/Program.cs | 12 ++++++------ Assets/Scripts/Zone Display/VolumeCloudRenderer.cs | 5 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index a77c8493c..a9efc7115 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -7457,8 +7457,8 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) "VolumeCloudRenderer.cs")); var requiredVolumeCloudSymbols = new[] { - "AetheriaRuntimePlayerSettingsSession _playerSettings", - ".ObservePlayer()", + "CultMeshReactiveDocument _playerSettings", + ".ReactivePlayer()", "_playerSettings?.Dispose()", "_playerSettings?.Current" }; @@ -7468,15 +7468,15 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root) if (missingVolumeCloudSymbols.Length > 0) { throw new InvalidOperationException( - "VolumeCloudRenderer should read player settings through AetheriaRuntimePlayerSettingsSession: " + + "VolumeCloudRenderer should read player settings through a managed reactive typed document: " + string.Join(", ", missingVolumeCloudSymbols)); } - if (volumeCloudRenderer.Contains("CultMeshReactiveDocument _playerSettings", StringComparison.Ordinal) || - volumeCloudRenderer.Contains(".ReactivePlayer()", StringComparison.Ordinal)) + if (volumeCloudRenderer.Contains("AetheriaRuntimePlayerSettingsSession _playerSettings", StringComparison.Ordinal) || + volumeCloudRenderer.Contains(".ObservePlayer()", StringComparison.Ordinal)) { throw new InvalidOperationException( - "VolumeCloudRenderer still owns the raw player-settings CultMesh document instead of AetheriaRuntimePlayerSettingsSession."); + "VolumeCloudRenderer still routes player settings through AetheriaRuntimePlayerSettingsSession instead of the managed reactive typed document."); } var observedTargetQuery = File.ReadAllText(Path.Combine( diff --git a/Assets/Scripts/Zone Display/VolumeCloudRenderer.cs b/Assets/Scripts/Zone Display/VolumeCloudRenderer.cs index 6292f5a7a..e593a8871 100644 --- a/Assets/Scripts/Zone Display/VolumeCloudRenderer.cs +++ b/Assets/Scripts/Zone Display/VolumeCloudRenderer.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Collections; using System.Collections.Generic; using GameCult.Aetheria.State.Verse; +using GameCult.Mesh; using UnityEngine; using UnityEngine.Rendering; @@ -53,7 +54,7 @@ public class VolumeCloudRenderer : EffectBase // The index of 4x4 pixels. private int frameIndex = 0; private bool firstFrame = true; - private AetheriaRuntimePlayerSettingsSession _playerSettings; + private CultMeshReactiveDocument _playerSettings; [SerializeField] private Shader cloudShader; @@ -103,7 +104,7 @@ public class VolumeCloudRenderer : EffectBase _playerSettings = ResolveClient() .State .Settings - .ObservePlayer(); + .ReactivePlayer(); } catch (Exception ex) {