Add native reactive client state access

This commit is contained in:
Meta Vens 2026-06-29 04:18:22 +01:00
commit 296a0b6de8
26 changed files with 258 additions and 244 deletions

View file

@ -95,7 +95,7 @@ public abstract class ActionBarBinding : IDisposable
try
{
_catalog ??= Client.State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
_catalog ??= Client.State.Reactive<AetheriaRuntimeCatalogSnapshot>();
return _catalog?.Current?.FindItem(item, x => x.ItemKey);
}
catch (Exception ex)

View file

@ -131,9 +131,9 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour
return;
}
_daemonFrame ??= state.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
_daemonFrame ??= state.Reactive<AetheriaRuntimeDaemonFrameDocument>();
_daemonSoaView ??= TryReactive<AetheriaRuntimeDaemonSoaViewDocument>(state);
_zoneRender ??= state.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
_zoneRender ??= state.Reactive<AetheriaRuntimeZoneRenderDocument>();
}
private static CultMeshReactiveDocument<TDocument> TryReactive<TDocument>(
@ -142,7 +142,7 @@ public sealed class AetheriaDaemonObserver : MonoBehaviour
{
try
{
return state.Document<TDocument>().Reactive();
return state.Reactive<TDocument>();
}
catch (System.Collections.Generic.KeyNotFoundException)
{

View file

@ -37,11 +37,11 @@ public sealed class AetheriaUnityGameplayBootShell
var aetheria = AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot.StateFilePath, stateBoot.RuntimeId)
.State;
using var runtimeCatalogDocument = aetheria.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
using var runtimeCatalogDocument = aetheria.Reactive<AetheriaRuntimeCatalogSnapshot>();
var runtimeCatalog = runtimeCatalogDocument.Current;
if (runtimeCatalog == null)
throw new InvalidOperationException("Aetheria typed runtime catalog is required before gameplay boot.");
using var sectorMapDocument = aetheria.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
using var sectorMapDocument = aetheria.Reactive<AetheriaRuntimeSectorMapDocument>();
var sectorMap = sectorMapDocument.Current;
if (sectorMap == null)
throw new InvalidOperationException("Aetheria typed sector map is required before gameplay boot.");

View file

@ -212,9 +212,9 @@ public sealed class AetheriaUnityObservedDockingIndex : IDisposable
if (state == null)
return;
_currentEntity ??= state.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
_currentDocking ??= state.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive();
_stationRefit ??= state.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
_currentEntity ??= state.Reactive<AetheriaRuntimeCurrentEntityDocument>();
_currentDocking ??= state.Reactive<AetheriaRuntimeCurrentDockingDocument>();
_stationRefit ??= state.Reactive<AetheriaRuntimeStationRefitDocument>();
}
public void Dispose()

View file

@ -99,7 +99,7 @@ public sealed class AetheriaUnityObservedTargetQuery : IDisposable
try
{
_zoneContacts = _resolveClient()
?.State.Document<AetheriaRuntimeZoneContactsDocument>().Reactive();
?.State.Reactive<AetheriaRuntimeZoneContactsDocument>();
return _zoneContacts?.Current;
}
catch

View file

@ -117,9 +117,7 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour
try
{
var nextRenderSplatsViewport = ResolveClient()
.State
.Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)
.Reactive();
.State.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport);
ClearViewportDocument();
_viewport = viewport;
_renderSplatsViewport = nextRenderSplatsViewport;

View file

@ -95,7 +95,7 @@ public static class AetheriaUnityRuntimeClientProvider
try
{
_playerSettingsDocument ??= ResolveClient(AetheriaUnityRuntimePaths.RuntimeStateFilePath)
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
var stored = _playerSettingsDocument.Current;
if (stored == null)

View file

@ -201,35 +201,35 @@ public class DaemonRuntimeDocumentTests
.ReactiveAsync()
.GetAwaiter()
.GetResult();
using var zoneRenderReactive = client.State.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
using var zoneRenderReactive = client.State.Reactive<AetheriaRuntimeZoneRenderDocument>();
var observedAuthoritativeFrame = ReadLatest(client.State.Document<AetheriaRuntimeDaemonFrameDocument>());
using var catalogReactive = client.State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
using var daemonFrameReactive = client.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
using var daemonSoaViewReactive = client.State.Document<AetheriaRuntimeDaemonSoaViewDocument>().Reactive();
using var catalogReactive = client.State.Reactive<AetheriaRuntimeCatalogSnapshot>();
using var daemonFrameReactive = client.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
using var daemonSoaViewReactive = client.State.Reactive<AetheriaRuntimeDaemonSoaViewDocument>();
Assert.IsTrue(AetheriaRuntimeDaemonRenderView.TryCreateCurrent(
daemonFrameReactive,
daemonSoaViewReactive,
zoneRenderReactive,
out var observed));
using var loadoutTemplatesReactive = client.State.Document<AetheriaRuntimeLoadoutTemplatesDocument>().Reactive();
using var sectorMapReactive = client.State.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
using var playerSettingsReactive = client.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
using var verseHostSettingsReactive = client.State.Document<AetheriaRuntimeVerseHostSettingsDocument>().Reactive();
using var zoneContactsReactive = client.State.Document<AetheriaRuntimeZoneContactsDocument>().Reactive();
using var currentZoneReactive = client.State.Document<AetheriaRuntimeCurrentZoneDocument>().Reactive();
using var currentEntityDocumentReactive = client.State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
using var currentDockingReactive = client.State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive();
using var stationRefitReactive = client.State.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
using var zoneDetailsReactive = client.State.Document<AetheriaRuntimeZoneDetailsDocument>(0).Reactive();
using var selectedObjectReactive = client.State.Document<AetheriaRuntimeSelectedObjectDocument>(0).Reactive();
using var inventoryReactive = client.State.Document<AetheriaRuntimeInventoryDocument>(0).Reactive();
using var mapViewportReactive = client.State.Document<AetheriaRuntimeRtsViewportDocument>(viewport).Reactive();
using var objectsViewportReactive = client.State.Document<AetheriaRuntimeObjectsViewportDocument>(viewport).Reactive();
using var gravityViewportReactive = client.State.Document<AetheriaRuntimeGravityViewportDocument>(viewport).Reactive();
using var renderSplatsViewportReactive = client.State.Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport).Reactive();
using var playerHudCatalog = client.State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
using var playerHudSettings = client.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
using var playerHudEntity = client.State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
using var loadoutTemplatesReactive = client.State.Reactive<AetheriaRuntimeLoadoutTemplatesDocument>();
using var sectorMapReactive = client.State.Reactive<AetheriaRuntimeSectorMapDocument>();
using var playerSettingsReactive = client.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
using var verseHostSettingsReactive = client.State.Reactive<AetheriaRuntimeVerseHostSettingsDocument>();
using var zoneContactsReactive = client.State.Reactive<AetheriaRuntimeZoneContactsDocument>();
using var currentZoneReactive = client.State.Reactive<AetheriaRuntimeCurrentZoneDocument>();
using var currentEntityDocumentReactive = client.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
using var currentDockingReactive = client.State.Reactive<AetheriaRuntimeCurrentDockingDocument>();
using var stationRefitReactive = client.State.Reactive<AetheriaRuntimeStationRefitDocument>();
using var zoneDetailsReactive = client.State.Reactive<AetheriaRuntimeZoneDetailsDocument>(0);
using var selectedObjectReactive = client.State.Reactive<AetheriaRuntimeSelectedObjectDocument>(0);
using var inventoryReactive = client.State.Reactive<AetheriaRuntimeInventoryDocument>(0);
using var mapViewportReactive = client.State.Reactive<AetheriaRuntimeRtsViewportDocument>(viewport);
using var objectsViewportReactive = client.State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport);
using var gravityViewportReactive = client.State.Reactive<AetheriaRuntimeGravityViewportDocument>(viewport);
using var renderSplatsViewportReactive = client.State.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport);
using var playerHudCatalog = client.State.Reactive<AetheriaRuntimeCatalogSnapshot>();
using var playerHudSettings = client.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
using var playerHudEntity = client.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
var gameSurface = ReadLatest(client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game));
var gameTuiSurface = ReadLatest(client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui));
var editorSurface = ReadLatest(client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor));
@ -243,10 +243,10 @@ public class DaemonRuntimeDocumentTests
Assert.AreEqual(currentEntity.EntityKey, currentEntityDocumentReactive.Current.EntityKey);
Assert.AreEqual(currentDocking.CurrentEntityKey, currentDockingReactive.Current.CurrentEntityKey);
Assert.AreEqual(stationRefit.StationEntityKey, stationRefitReactive.Current.StationEntityKey);
using var reactiveGameSurface = client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game).Reactive();
using var reactiveGameTuiSurface = client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui).Reactive();
using var reactiveEditorSurface = client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor).Reactive();
using var reactiveEditorTuiSurface = client.State.Document<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.EditorTui).Reactive();
using var reactiveGameSurface = client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Game);
using var reactiveGameTuiSurface = client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.GameTui);
using var reactiveEditorSurface = client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.Editor);
using var reactiveEditorTuiSurface = client.State.Reactive<global::Aetheria.State.Documents.EveSurfaceState>(AetheriaClientEveSurface.EditorTui);
Assert.AreEqual("aetheria.current.entity", client.State.CurrentEntity.DocumentId);
Assert.AreSame(client.State.CurrentEntity, client.State.Document<AetheriaRuntimeCurrentEntityDocument>());
@ -2210,9 +2210,9 @@ public class DaemonRuntimeDocumentTests
.OpenAsync(statePath, "unity-observer-test", pullOnOpen: true)
.GetAwaiter()
.GetResult();
using var observedFrame = client.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
using var observedSoaView = client.State.Document<AetheriaRuntimeDaemonSoaViewDocument>().Reactive();
using var observedZoneRender = client.State.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
using var observedFrame = client.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
using var observedSoaView = client.State.Reactive<AetheriaRuntimeDaemonSoaViewDocument>();
using var observedZoneRender = client.State.Reactive<AetheriaRuntimeZoneRenderDocument>();
Assert.IsTrue(AetheriaRuntimeDaemonRenderView.TryCreateCurrent(
observedFrame,
observedSoaView,
@ -2268,9 +2268,9 @@ public class DaemonRuntimeDocumentTests
.OpenAsync(statePath, "unity-reactive-observer-test", pullOnOpen: true)
.GetAwaiter()
.GetResult();
using var observedFrame = client.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
using var observedSoaView = client.State.Document<AetheriaRuntimeDaemonSoaViewDocument>().Reactive();
using var observedZoneRender = client.State.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
using var observedFrame = client.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
using var observedSoaView = client.State.Reactive<AetheriaRuntimeDaemonSoaViewDocument>();
using var observedZoneRender = client.State.Reactive<AetheriaRuntimeZoneRenderDocument>();
var observed = AetheriaRuntimeDaemonRenderView.TryCreateCurrent(
observedFrame,
observedSoaView,
@ -2315,9 +2315,9 @@ public class DaemonRuntimeDocumentTests
.OpenAsync(statePath, "unity-frame-only-observer-test", pullOnOpen: true)
.GetAwaiter()
.GetResult();
using var observedFrame = client.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
using var observedSoaView = client.State.Document<AetheriaRuntimeDaemonSoaViewDocument>().Reactive();
using var observedZoneRender = client.State.Document<AetheriaRuntimeZoneRenderDocument>().Reactive();
using var observedFrame = client.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
using var observedSoaView = client.State.Reactive<AetheriaRuntimeDaemonSoaViewDocument>();
using var observedZoneRender = client.State.Reactive<AetheriaRuntimeZoneRenderDocument>();
Assert.IsTrue(AetheriaRuntimeDaemonRenderView.TryCreateCurrent(
observedFrame,
observedSoaView,

View file

@ -82,7 +82,7 @@ public class StarbridgePlayerSeatDocumentTests
var handle = client.Document<AetheriaRuntimeStarbridgePlayerSeatDocument>(
AetheriaRuntimeVerseRecordKeys.StarbridgePlayerSeat(seat.SeatId));
using var reactive = handle.Reactive();
using var aetheriaSeat = client.State.Document<AetheriaRuntimeStarbridgePlayerSeatDocument>(seat.SeatId).Reactive();
using var aetheriaSeat = client.State.Reactive<AetheriaRuntimeStarbridgePlayerSeatDocument>(seat.SeatId);
Assert.AreEqual("seat-support", handle.Latest().SeatId);
Assert.AreEqual(

View file

@ -326,7 +326,7 @@ public class SchematicDisplay : MonoBehaviour
try
{
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
}
catch (Exception ex)
{
@ -342,7 +342,7 @@ public class SchematicDisplay : MonoBehaviour
{
try
{
_playerSettings = ResolveClient().State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
_playerSettings = ResolveClient().State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
}
catch (Exception ex)
{
@ -359,7 +359,7 @@ public class SchematicDisplay : MonoBehaviour
{
try
{
_currentEntity = ResolveClient().State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
_currentEntity = ResolveClient().State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
}
catch (Exception ex)
{

View file

@ -393,7 +393,7 @@ public class InputDisplayLayout : MonoBehaviour
try
{
_playerSettings = ResolveClient()
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
}
catch (Exception ex)
{

View file

@ -151,7 +151,7 @@ public class MainMenu : MonoBehaviour
try
{
_sectorMap ??= ResolveClient(stateBoot)
.State.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
.State.Reactive<AetheriaRuntimeSectorMapDocument>();
return _sectorMap?.Current;
}
catch (Exception ex)
@ -169,7 +169,7 @@ public class MainMenu : MonoBehaviour
try
{
_playerSettings ??= ResolveClient(stateBoot)
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
return _playerSettings?.Current;
}
catch (Exception ex)
@ -187,7 +187,7 @@ public class MainMenu : MonoBehaviour
try
{
_verseHostSettings ??= ResolveClient(stateBoot)
.State.Document<AetheriaRuntimeVerseHostSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimeVerseHostSettingsDocument>();
return _verseHostSettings?.Current;
}
catch (Exception ex)

View file

@ -965,7 +965,7 @@ public class InventoryMenu : MonoBehaviour
try
{
_currentEntity = ResolveClient()
.State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
}
catch (Exception ex)
{
@ -983,7 +983,7 @@ public class InventoryMenu : MonoBehaviour
try
{
_stationRefit = ResolveClient()
.State.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
.State.Reactive<AetheriaRuntimeStationRefitDocument>();
}
catch (Exception ex)
{
@ -1001,9 +1001,7 @@ public class InventoryMenu : MonoBehaviour
try
{
var nextInventory = ResolveClient()
.State
.Document<AetheriaRuntimeInventoryDocument>(entityIndex)
.Reactive();
.State.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex);
_inventory?.Dispose();
_inventoryEntityIndex = entityIndex;
_inventory = nextInventory;
@ -1075,7 +1073,7 @@ public class InventoryMenu : MonoBehaviour
try
{
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
}
catch (Exception ex)
{
@ -1093,7 +1091,7 @@ public class InventoryMenu : MonoBehaviour
try
{
_playerSettings = ResolveClient()
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
}
catch (Exception ex)
{

View file

@ -1504,7 +1504,7 @@ private void Update()
try
{
_currentEntity = ResolveClient()
.State.Document<AetheriaRuntimeCurrentEntityDocument>().Reactive();
.State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
}
catch (Exception ex)
{
@ -1522,7 +1522,7 @@ private void Update()
try
{
_stationRefit = ResolveClient()
.State.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
.State.Reactive<AetheriaRuntimeStationRefitDocument>();
}
catch (Exception ex)
{
@ -1547,7 +1547,7 @@ private void Update()
try
{
_loadoutFrame = ResolveClient()
.State.Document<AetheriaRuntimeDaemonFrameDocument>().Reactive();
.State.Reactive<AetheriaRuntimeDaemonFrameDocument>();
}
catch (Exception ex)
{
@ -1565,9 +1565,7 @@ private void Update()
try
{
var nextInventory = ResolveClient()
.State
.Document<AetheriaRuntimeInventoryDocument>(entityIndex)
.Reactive();
.State.Reactive<AetheriaRuntimeInventoryDocument>(entityIndex);
_inventory?.Dispose();
_inventoryEntityIndex = entityIndex;
_inventory = nextInventory;
@ -1587,7 +1585,7 @@ private void Update()
try
{
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
}
catch (Exception ex)
{
@ -1605,7 +1603,7 @@ private void Update()
try
{
_playerSettings = ResolveClient()
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
}
catch (Exception ex)
{

View file

@ -129,14 +129,8 @@ public class MapRenderer : MonoBehaviour
var client = ResolveClient();
var viewport = ResolveViewportBounds();
ClearViewportCaches();
_objectsViewport = client
.State
.Document<AetheriaRuntimeObjectsViewportDocument>(viewport)
.Reactive();
_renderSplatsViewport = client
.State
.Document<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)
.Reactive();
_objectsViewport = client.State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewport);
_renderSplatsViewport = client.State.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport);
var objectsViewport = _objectsViewport?.Current;
var zoneName = string.IsNullOrWhiteSpace(objectsViewport?.ZoneName)
@ -319,7 +313,7 @@ public class MapRenderer : MonoBehaviour
try
{
_playerSettings ??= ResolveClient()
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
return _playerSettings?.Current?.ShowAsteroidsInMinimap ?? false;
}
catch (Exception ex)

View file

@ -180,7 +180,7 @@ public class MenuPanel : MonoBehaviour
docking = null;
try
{
_currentDocking ??= ResolveClient().State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive();
_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>();
docking = _currentDocking.Current;
return docking != null;
}

View file

@ -222,7 +222,7 @@ public class SectorMap : MonoBehaviour
private void EnsureSectorMapLoaded()
{
_sectorMapDocument ??= ResolveClient()
.State.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
.State.Reactive<AetheriaRuntimeSectorMapDocument>();
_sectorMap = _sectorMapDocument?.Current;
if (_sectorMapLoaded)

View file

@ -175,7 +175,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
try
{
_sectorMap ??= ResolveClient()
.State.Document<AetheriaRuntimeSectorMapDocument>().Reactive();
.State.Reactive<AetheriaRuntimeSectorMapDocument>();
var sectorMap = _sectorMap?.Current;
return (sectorMap?.Zones ?? Array.Empty<AetheriaRuntimeSectorMapZone>())
.FirstOrDefault(zone => zone.ZoneIndex == zoneIndex);
@ -203,9 +203,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
try
{
var nextZoneDetails = ResolveClient()
.State
.Document<AetheriaRuntimeZoneDetailsDocument>(zoneIndex)
.Reactive();
.State.Reactive<AetheriaRuntimeZoneDetailsDocument>(zoneIndex);
_zoneDetails?.Dispose();
_zoneDetailsIndex = zoneIndex;
_zoneDetails = nextZoneDetails;
@ -231,7 +229,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
try
{
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
}
catch (Exception ex)
{
@ -249,7 +247,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
try
{
_playerSettings = ResolveClient()
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
}
catch (Exception ex)
{
@ -320,7 +318,7 @@ public class SectorRenderer : MonoBehaviour, IBeginDragHandler, IDragHandler, IS
try
{
_currentZone ??= ResolveClient()
.State.Document<AetheriaRuntimeCurrentZoneDocument>().Reactive();
.State.Reactive<AetheriaRuntimeCurrentZoneDocument>();
}
catch (Exception ex)
{

View file

@ -518,7 +518,7 @@ public class TradeMenu : MonoBehaviour
try
{
_stationRefit = ResolveClient().State.Document<AetheriaRuntimeStationRefitDocument>().Reactive();
_stationRefit = ResolveClient().State.Reactive<AetheriaRuntimeStationRefitDocument>();
}
catch (Exception ex)
{
@ -533,7 +533,7 @@ public class TradeMenu : MonoBehaviour
docking = null;
try
{
_currentDocking ??= ResolveClient().State.Document<AetheriaRuntimeCurrentDockingDocument>().Reactive();
_currentDocking ??= ResolveClient().State.Reactive<AetheriaRuntimeCurrentDockingDocument>();
docking = _currentDocking.Current;
return docking != null;
}
@ -627,7 +627,7 @@ public class TradeMenu : MonoBehaviour
try
{
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
}
catch (Exception ex)
{
@ -645,7 +645,7 @@ public class TradeMenu : MonoBehaviour
try
{
_playerSettings = ResolveClient()
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
}
catch (Exception ex)
{

View file

@ -102,7 +102,7 @@ public class VolumeCloudRenderer : EffectBase
try
{
_playerSettings = ResolveClient()
.State.Document<AetheriaRuntimePlayerSettingsDocument>().Reactive();
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
}
catch (Exception ex)
{

View file

@ -1208,7 +1208,7 @@ public class ZoneRenderer : MonoBehaviour
try
{
_catalog = ResolveClient().State.Document<AetheriaRuntimeCatalogSnapshot>().Reactive();
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
}
catch (Exception ex)
{
@ -1225,7 +1225,7 @@ public class ZoneRenderer : MonoBehaviour
try
{
_zoneContacts = ResolveClient().State.Document<AetheriaRuntimeZoneContactsDocument>().Reactive();
_zoneContacts = ResolveClient().State.Reactive<AetheriaRuntimeZoneContactsDocument>();
}
catch (Exception ex)
{
@ -1244,9 +1244,7 @@ public class ZoneRenderer : MonoBehaviour
try
{
var nextObjectsViewport = ResolveClient()
.State
.Document<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)
.Reactive();
.State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds);
_objectsViewport?.Dispose();
_objectsViewportBounds = viewportBounds;
_objectsViewport = nextObjectsViewport;