Use native runtime documents in render UI
This commit is contained in:
parent
d10da01a69
commit
7a298cf95d
5 changed files with 39 additions and 73 deletions
|
|
@ -2438,7 +2438,8 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"FindAnyObjectByType<AetheriaDaemonObserver>()",
|
||||
"ResolveObjectsViewport(viewport)",
|
||||
"private AetheriaRuntimeObjectsViewportDocument ResolveObjectsViewport(AetheriaRuntimeXzRect viewport)",
|
||||
".State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)",
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(",
|
||||
"\"unity-zone-renderer\"",
|
||||
"_objectsViewport?.Current",
|
||||
"foreach (var entity in objects?.Objects ?? Array.Empty<AetheriaRuntimeRtsViewportObject>())",
|
||||
"_observedEntitySnapshotsByDaemonIndex.TryGetValue(entityIndex, out var entity)",
|
||||
|
|
@ -2456,8 +2457,7 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"foreach (var beltPose in _daemonAsteroidBeltPoses)",
|
||||
"beltPose.InstancePoses ?? Array.Empty<AetheriaRuntimeZoneRenderAsteroidInstancePose>()",
|
||||
"private void RefreshDaemonContactRows()",
|
||||
".State",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>()",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>(\"unity-zone-renderer\")",
|
||||
"private void RefreshDaemonCompassMarkers()",
|
||||
"private void RefreshDaemonVisibleEntityInstances()",
|
||||
"PowerPulse(",
|
||||
|
|
@ -2565,10 +2565,9 @@ static void RequireDaemonRenderQueryAuthority(string root)
|
|||
"CultMeshReactiveDocument<AetheriaRuntimeCurrentEntityDocument> _currentEntity",
|
||||
"ResolveCatalog()",
|
||||
"ResolveCurrentEntityHudStatus()",
|
||||
"AetheriaUnityRuntimeClientProvider.ResolveClient(",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCurrentEntityDocument>()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>(\"unity-schematic-display\")",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-schematic-display\")",
|
||||
".Reactive<AetheriaRuntimeCurrentEntityDocument>(\"unity-schematic-display\")",
|
||||
"return _currentEntity?.Current?.Hud ?? new AetheriaRuntimeCurrentEntityHudStatus();",
|
||||
"_currentEntity?.Dispose()",
|
||||
"hud.OverrideShutdown",
|
||||
|
|
@ -7595,9 +7594,9 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot> _catalog",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings",
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeCurrentEntityDocument> _currentEntity",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCurrentEntityDocument>()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>(\"unity-schematic-display\")",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-schematic-display\")",
|
||||
".Reactive<AetheriaRuntimeCurrentEntityDocument>(\"unity-schematic-display\")",
|
||||
"_catalog?.Dispose()",
|
||||
"_playerSettings?.Dispose()",
|
||||
"_currentEntity?.Dispose()",
|
||||
|
|
@ -7651,7 +7650,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
var requiredVolumeCloudSymbols = new[]
|
||||
{
|
||||
"CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>()",
|
||||
".Reactive<AetheriaRuntimePlayerSettingsDocument>(\"unity-volume-cloud-renderer\")",
|
||||
"_playerSettings?.Dispose()",
|
||||
"_playerSettings?.Current"
|
||||
};
|
||||
|
|
@ -8044,7 +8043,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
var requiredZoneRendererSharedDocumentSymbols = new[]
|
||||
{
|
||||
"CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> _zoneContacts",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeZoneContactsDocument>()",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>(\"unity-zone-renderer\")",
|
||||
"_zoneContacts?.Dispose()",
|
||||
"_zoneContacts?.Current",
|
||||
"private void OnDestroy()"
|
||||
|
|
@ -8064,7 +8063,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"ZoneRenderer",
|
||||
"AetheriaRuntimeZoneContactsDocument",
|
||||
"_zoneContacts",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeZoneContactsDocument>()",
|
||||
".Reactive<AetheriaRuntimeZoneContactsDocument>(\"unity-zone-renderer\")",
|
||||
"AetheriaRuntimeZoneContactsSession",
|
||||
"ResolveClient().State.ObserveZoneContacts()");
|
||||
RequireReactiveTypedDocumentAccess(
|
||||
|
|
@ -8072,7 +8071,7 @@ static void RequireUnitySharedDocumentAccessorErgonomics(string root)
|
|||
"ZoneRenderer",
|
||||
"AetheriaRuntimeCatalogSnapshot",
|
||||
"_catalog",
|
||||
"ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>()",
|
||||
".Reactive<AetheriaRuntimeCatalogSnapshot>(\"unity-zone-renderer\")",
|
||||
"AetheriaRuntimeCatalogSession",
|
||||
"ResolveClient().State.ObserveCatalog()");
|
||||
|
||||
|
|
@ -8186,11 +8185,11 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
|||
.Where(symbol => !renderSplatViewportSource.Contains(symbol, StringComparison.Ordinal))
|
||||
.ToArray();
|
||||
if (!CompactSource(renderSplatViewportSource).Contains(
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport,\"unity-render-splat-viewport\")",
|
||||
StringComparison.Ordinal))
|
||||
{
|
||||
missingRenderSplatViewportSourceSymbols = missingRenderSplatViewportSourceSymbols
|
||||
.Concat(new[] { ".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)" })
|
||||
.Concat(new[] { ".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport,\"unity-render-splat-viewport\")" })
|
||||
.ToArray();
|
||||
}
|
||||
if (missingRenderSplatViewportSourceSymbols.Length > 0 ||
|
||||
|
|
@ -8213,7 +8212,7 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
|||
"AetheriaUnityRenderSplatViewportSource",
|
||||
"AetheriaRuntimeRenderSplatsViewportDocument",
|
||||
"_renderSplatsViewport",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport)",
|
||||
".Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport,\"unity-render-splat-viewport\")",
|
||||
"AetheriaRuntimeRenderSplatsViewportSession",
|
||||
".ObserveRenderSplats(viewport)");
|
||||
|
||||
|
|
@ -8233,11 +8232,11 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
|||
.Where(symbol => !zoneRenderer.Contains(symbol, StringComparison.Ordinal))
|
||||
.ToArray();
|
||||
if (!CompactSource(zoneRenderer).Contains(
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)",
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds,\"unity-zone-renderer\")",
|
||||
StringComparison.Ordinal))
|
||||
{
|
||||
missingZoneRendererViewportSymbols = missingZoneRendererViewportSymbols
|
||||
.Concat(new[] { ".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)" })
|
||||
.Concat(new[] { ".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds,\"unity-zone-renderer\")" })
|
||||
.ToArray();
|
||||
}
|
||||
if (missingZoneRendererViewportSymbols.Length > 0 ||
|
||||
|
|
@ -8260,7 +8259,7 @@ static void RequireUnityViewportAndMapReadsUseManagedAccessors(string root)
|
|||
"ZoneRenderer",
|
||||
"AetheriaRuntimeObjectsViewportDocument",
|
||||
"_objectsViewport",
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds)",
|
||||
".Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds,\"unity-zone-renderer\")",
|
||||
"AetheriaRuntimeObjectsViewportSession",
|
||||
".ObserveObjects(viewportBounds)");
|
||||
|
||||
|
|
|
|||
|
|
@ -116,8 +116,10 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour
|
|||
_nextRefreshTime = Time.unscaledTime + Mathf.Max(0.02f, refreshIntervalSeconds);
|
||||
try
|
||||
{
|
||||
var nextRenderSplatsViewport = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(viewport);
|
||||
var nextRenderSplatsViewport = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeRenderSplatsViewportDocument>(
|
||||
viewport,
|
||||
"unity-render-splat-viewport");
|
||||
ClearViewportDocument();
|
||||
_viewport = viewport;
|
||||
_renderSplatsViewport = nextRenderSplatsViewport;
|
||||
|
|
@ -159,11 +161,4 @@ public sealed class AetheriaUnityRenderSplatViewportSource : MonoBehaviour
|
|||
Mathf.Approximately(left.MaxY, right.MaxY);
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(
|
||||
AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory),
|
||||
"unity-render-splat-viewport");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ public class SchematicDisplay : MonoBehaviour
|
|||
private EquippedCargoBay[] _cargoBays;
|
||||
private SchematicDisplayItem[] _schematicItems;
|
||||
private AetherDrive _aetherDrive;
|
||||
private string _clientStatePath = "";
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot> _catalog;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimePlayerSettingsDocument> _playerSettings;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCurrentEntityDocument> _currentEntity;
|
||||
|
|
@ -326,7 +325,8 @@ public class SchematicDisplay : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
_catalog = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCatalogSnapshot>("unity-schematic-display");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -342,7 +342,8 @@ public class SchematicDisplay : MonoBehaviour
|
|||
{
|
||||
try
|
||||
{
|
||||
_playerSettings = ResolveClient().State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
_playerSettings = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimePlayerSettingsDocument>("unity-schematic-display");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -359,7 +360,8 @@ public class SchematicDisplay : MonoBehaviour
|
|||
{
|
||||
try
|
||||
{
|
||||
_currentEntity = ResolveClient().State.Reactive<AetheriaRuntimeCurrentEntityDocument>();
|
||||
_currentEntity = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCurrentEntityDocument>("unity-schematic-display");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -370,18 +372,6 @@ public class SchematicDisplay : MonoBehaviour
|
|||
return _currentEntity?.Current?.Hud ?? new AetheriaRuntimeCurrentEntityHudStatus();
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
|
||||
if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal))
|
||||
{
|
||||
_clientStatePath = stateBoot.StateFilePath;
|
||||
ClearClientCaches();
|
||||
}
|
||||
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(stateBoot, "unity-schematic-display");
|
||||
}
|
||||
|
||||
private string FormatValue(float value)
|
||||
{
|
||||
var settings = ResolvePlayerSettings();
|
||||
|
|
|
|||
|
|
@ -101,8 +101,8 @@ public class VolumeCloudRenderer : EffectBase
|
|||
|
||||
try
|
||||
{
|
||||
_playerSettings = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimePlayerSettingsDocument>();
|
||||
_playerSettings = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimePlayerSettingsDocument>("unity-volume-cloud-renderer");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -112,13 +112,6 @@ public class VolumeCloudRenderer : EffectBase
|
|||
return _playerSettings?.Current;
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(
|
||||
AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory),
|
||||
"unity-volume-cloud-renderer");
|
||||
}
|
||||
|
||||
[ImageEffectOpaque]
|
||||
private void OnRenderImage(RenderTexture source, RenderTexture destination) {
|
||||
if (cloudShader == null) {
|
||||
|
|
|
|||
|
|
@ -119,7 +119,6 @@ public class ZoneRenderer : MonoBehaviour
|
|||
Array.Empty<AetheriaRuntimeZoneRenderAsteroidBeltPose>();
|
||||
private IReadOnlyList<AetheriaRuntimeBodySnapshotCommit> _zoneRenderBodies =
|
||||
Array.Empty<AetheriaRuntimeBodySnapshotCommit>();
|
||||
private string _clientStatePath = "";
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeCatalogSnapshot> _catalog;
|
||||
private CultMeshReactiveDocument<AetheriaRuntimeZoneContactsDocument> _zoneContacts;
|
||||
private AetheriaRuntimeRtsViewportBounds _objectsViewportBounds;
|
||||
|
|
@ -1208,7 +1207,8 @@ public class ZoneRenderer : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_catalog = ResolveClient().State.Reactive<AetheriaRuntimeCatalogSnapshot>();
|
||||
_catalog = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeCatalogSnapshot>("unity-zone-renderer");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1225,7 +1225,8 @@ public class ZoneRenderer : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
_zoneContacts = ResolveClient().State.Reactive<AetheriaRuntimeZoneContactsDocument>();
|
||||
_zoneContacts = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeZoneContactsDocument>("unity-zone-renderer");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -1243,8 +1244,10 @@ public class ZoneRenderer : MonoBehaviour
|
|||
|
||||
try
|
||||
{
|
||||
var nextObjectsViewport = ResolveClient()
|
||||
.State.Reactive<AetheriaRuntimeObjectsViewportDocument>(viewportBounds);
|
||||
var nextObjectsViewport = AetheriaUnityRuntimeClientProvider
|
||||
.Reactive<AetheriaRuntimeObjectsViewportDocument>(
|
||||
viewportBounds,
|
||||
"unity-zone-renderer");
|
||||
_objectsViewport?.Dispose();
|
||||
_objectsViewportBounds = viewportBounds;
|
||||
_objectsViewport = nextObjectsViewport;
|
||||
|
|
@ -1257,20 +1260,6 @@ public class ZoneRenderer : MonoBehaviour
|
|||
return _objectsViewport?.Current;
|
||||
}
|
||||
|
||||
private AetheriaClient ResolveClient()
|
||||
{
|
||||
var stateBoot = AetheriaRuntimeStateBoot.Inspect(AetheriaUnityRuntimePaths.GameDataDirectory);
|
||||
if (!string.Equals(_clientStatePath, stateBoot.StateFilePath, StringComparison.Ordinal))
|
||||
{
|
||||
_clientStatePath = stateBoot.StateFilePath;
|
||||
ClearClientCaches();
|
||||
}
|
||||
|
||||
return AetheriaUnityRuntimeClientProvider.ResolveClient(
|
||||
stateBoot,
|
||||
"unity-zone-renderer");
|
||||
}
|
||||
|
||||
private void ClearClientCaches()
|
||||
{
|
||||
_catalog?.Dispose();
|
||||
|
|
|
|||
Loading…
Reference in a new issue