change.插件sdk更新

This commit is contained in:
lincube
2026-04-12 13:52:52 +08:00
parent 4a89c2388b
commit 91ab52ce8b
7 changed files with 339 additions and 16 deletions

View File

@@ -848,6 +848,8 @@ public sealed class PluginLoader
private sealed class PluginRuntimeContext : IPluginRuntimeContext
{
private readonly PluginAppearanceContext _appearanceContext;
public PluginRuntimeContext(
PluginManifest manifest,
string pluginDirectory,
@@ -859,7 +861,8 @@ public sealed class PluginLoader
PluginDirectory = pluginDirectory;
DataDirectory = dataDirectory;
Properties = properties;
Appearance = new PluginAppearanceContext(appearanceSnapshot);
_appearanceContext = new PluginAppearanceContext(appearanceSnapshot);
Appearance = _appearanceContext;
Services = NullServiceProvider.Instance;
}
@@ -898,6 +901,14 @@ public sealed class PluginLoader
{
Services = services ?? throw new ArgumentNullException(nameof(services));
}
/// <summary>
/// 更新外观快照并通知插件。
/// </summary>
internal void UpdateAppearanceSnapshot(PluginAppearanceSnapshot newSnapshot, IReadOnlyCollection<AppearanceProperty> changedProperties)
{
_appearanceContext.UpdateSnapshot(newSnapshot, changedProperties);
}
}
private sealed class PluginMessageBus : IPluginMessageBus, IDisposable