refactor(flow) : 重新实现了UIContextOperation的注入逻辑,为后续开发Avalonia版本的编辑器做准备。

This commit is contained in:
fengjiayi
2025-09-19 23:58:52 +08:00
parent 0161c64e2c
commit 630008198d
21 changed files with 415 additions and 200 deletions

View File

@@ -14,6 +14,11 @@ namespace Serein.NodeFlow.Services
/// </summary>
public class FlowLibraryService
{
/// <summary>
/// 是否加载过基础依赖
/// </summary>
public bool IsLoadedBaseLibrary { get; private set; } = false;
/// <summary>
/// 构造函数,初始化流程依赖
/// </summary>
@@ -60,7 +65,7 @@ namespace Serein.NodeFlow.Services
/// </summary>
public FlowLibraryInfo LoadBaseLibrary()
{
Assembly baseAssmbly = typeof(FlowBaseLibrary).Assembly;
var baseAssmbly = typeof(FlowBaseLibrary).Assembly;
var flowLibrary = new FlowLibraryCache(baseAssmbly);
flowLibrary.LoadFlowMethod();
var assemblyName = baseAssmbly.GetName().Name;
@@ -69,7 +74,9 @@ namespace Serein.NodeFlow.Services
throw new Exception($"程序集\"{baseAssmbly}\"返回 Name 为 null");
}
_flowLibraryCaches.TryAdd(assemblyName, flowLibrary);
return flowLibrary.ToInfo();
var infos = flowLibrary.ToInfo();
IsLoadedBaseLibrary = true;
return infos;
}
/// <summary>