Route observed docking through managed sessions
This commit is contained in:
parent
08c4fc190e
commit
2c68dcc59e
3 changed files with 18 additions and 7 deletions
|
|
@ -8018,6 +8018,9 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root
|
|||
var observedDockingState = File.ReadAllText(observedDockingStatePath);
|
||||
if (!observedDockingState.Contains("public sealed class AetheriaRuntimeObservedDockingState", StringComparison.Ordinal) ||
|
||||
!observedDockingState.Contains("public static bool TryCreateCurrent(", StringComparison.Ordinal) ||
|
||||
!observedDockingState.Contains("AetheriaRuntimeCurrentEntitySession? entity", StringComparison.Ordinal) ||
|
||||
!observedDockingState.Contains("AetheriaRuntimeCurrentDockingSession docking", StringComparison.Ordinal) ||
|
||||
!observedDockingState.Contains("AetheriaRuntimeStationRefitSession refit", StringComparison.Ordinal) ||
|
||||
!observedDockingState.Contains("new AetheriaRuntimeObservedDockingState(", StringComparison.Ordinal) ||
|
||||
!observedDockingState.Contains("TryResolveCurrentDockingBayRow(", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -8025,6 +8028,15 @@ static void RequireAetheriaManagedStateAccessorsCoverDomainDocuments(string root
|
|||
"Observed docking state must compose current entity, docking, and station-refit documents inside the managed state package.");
|
||||
}
|
||||
|
||||
if (observedDockingState.Contains("CultMeshReactiveDocument<AetheriaRuntimeCurrentEntityDocument>", StringComparison.Ordinal) ||
|
||||
observedDockingState.Contains("CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument>", StringComparison.Ordinal) ||
|
||||
observedDockingState.Contains("CultMeshReactiveDocument<AetheriaRuntimeStationRefitDocument>", StringComparison.Ordinal) ||
|
||||
observedDockingState.Contains("using GameCult.Mesh;", StringComparison.Ordinal))
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"Observed docking state must sample named managed sessions instead of owning raw reactive CultMesh documents.");
|
||||
}
|
||||
|
||||
if (observedDaemonState.Contains("state.LatestFrame.ReactiveAsync", StringComparison.Ordinal) ||
|
||||
observedDaemonState.Contains("state.LatestSoaView.ReactiveAsync", StringComparison.Ordinal) ||
|
||||
observedDaemonState.Contains("AetheriaRuntimeReactiveObservedDaemonState", StringComparison.Ordinal) ||
|
||||
|
|
|
|||
|
|
@ -309,9 +309,9 @@ namespace GameCult.Aetheria.State.Verse
|
|||
public AetheriaRuntimeObservedDockingState? CurrentDocking(
|
||||
CultMeshReactiveDocumentOptions? options = null)
|
||||
{
|
||||
using var entity = Current.ReactiveEntity(options);
|
||||
using var docking = Current.ReactiveDocking(options);
|
||||
using var refit = ReactiveStationRefit(options);
|
||||
using var entity = Current.ObserveEntity(options);
|
||||
using var docking = Current.ObserveDocking(options);
|
||||
using var refit = ObserveStationRefit(options);
|
||||
return AetheriaRuntimeObservedDockingState.TryCreateCurrent(entity, docking, refit, out var current)
|
||||
? current
|
||||
: null;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using GameCult.Mesh;
|
||||
|
||||
#nullable enable
|
||||
|
||||
|
|
@ -46,9 +45,9 @@ namespace GameCult.Aetheria.State.Verse
|
|||
}
|
||||
|
||||
public static bool TryCreateCurrent(
|
||||
CultMeshReactiveDocument<AetheriaRuntimeCurrentEntityDocument>? entity,
|
||||
CultMeshReactiveDocument<AetheriaRuntimeCurrentDockingDocument> docking,
|
||||
CultMeshReactiveDocument<AetheriaRuntimeStationRefitDocument> refit,
|
||||
AetheriaRuntimeCurrentEntitySession? entity,
|
||||
AetheriaRuntimeCurrentDockingSession docking,
|
||||
AetheriaRuntimeStationRefitSession refit,
|
||||
out AetheriaRuntimeObservedDockingState? observed)
|
||||
{
|
||||
observed = null;
|
||||
|
|
|
|||
Loading…
Reference in a new issue