fix(plugins): close LA5 host lifecycle review
This commit is contained in:
parent
95f4be94db
commit
fbe9c8a288
25 changed files with 1043 additions and 120 deletions
|
|
@ -431,6 +431,7 @@ public sealed class GameWindow :
|
|||
_creatureAppraisalFramePresenter;
|
||||
// Phase D.2b Task 9 — plugin UI registrations buffered before OnLoad; drained in OnLoad.
|
||||
private readonly AcDream.App.Plugins.BufferedUiRegistry? _uiRegistry;
|
||||
private AcDream.App.Plugins.GraphicalPluginSession? _pluginSession;
|
||||
// Campaign V slice V11 deleted the ImGui developer-tools frontend along
|
||||
// with the OpenGL backend it required, so no host ever composes a
|
||||
// developer UI regardless of ACDREAM_DEVTOOLS. The flag still reaches
|
||||
|
|
@ -723,6 +724,24 @@ public sealed class GameWindow :
|
|||
_movementTruthDiagnostics);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Transfers the graphical plugin lifetime into the window shutdown graph
|
||||
/// and starts it before retained UI construction drains registrations.
|
||||
/// </summary>
|
||||
internal void StartPluginHosting(
|
||||
AcDream.App.Plugins.GraphicalPluginSession pluginSession)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(pluginSession);
|
||||
if (_pluginSession is not null)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"The graphical plugin session is already attached.");
|
||||
}
|
||||
|
||||
_pluginSession = pluginSession;
|
||||
pluginSession.Start();
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
_platformServices.ConfigureWindowBackend();
|
||||
|
|
@ -1555,9 +1574,7 @@ public sealed class GameWindow :
|
|||
sessionPlayer),
|
||||
frameRoots => new SessionStartCompositionPhase(
|
||||
new SessionStartDependencies(
|
||||
Console.WriteLine,
|
||||
_statusWriter,
|
||||
_options.SessionId ?? "app"))
|
||||
Console.WriteLine))
|
||||
.Start(frameRoots));
|
||||
}
|
||||
|
||||
|
|
@ -1704,6 +1721,7 @@ public sealed class GameWindow :
|
|||
_kbSource,
|
||||
_retailUiLease,
|
||||
_uiHost,
|
||||
_pluginSession,
|
||||
_runtime,
|
||||
_movementInput,
|
||||
_cameraInput,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue