重写了节点的view、viewmodel关系,实现了对画布元素的选取功能,重构了底层依赖,添加了对net .Framework4.6.1以上的Framework类库支持

This commit is contained in:
fengjiayi
2024-09-12 20:32:54 +08:00
parent ec6e09ced1
commit f286fc644a
120 changed files with 91218 additions and 761 deletions

View File

@@ -0,0 +1,13 @@
using Serein.Library.Utils;
using System;
using System.Threading.Tasks;
namespace Serein.Library.Api
{
public interface IDynamicContext
{
NodeRunCts NodeRunCts { get; set; }
ISereinIoc SereinIoc { get; }
Task CreateTimingTask(Action action, int time = 100, int count = -1);
}
}

View File

@@ -0,0 +1,10 @@
using Serein.Library.Enums;
namespace Serein.Library.Api
{
public interface IFlipflopContext
{
FlowStateType State { get; set; }
object Data { get; set; }
}
}

36
Library/Api/ISereinIoc.cs Normal file
View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Serein.Library.Api
{
public interface ISereinIoc
{
/// <summary>
/// 获取或创建类型的实例(不注入依赖项)
/// </summary>
object GetOrCreateServiceInstance(Type serviceType, params object[] parameters);
T CreateServiceInstance<T>(params object[] parameters);
ISereinIoc Reset(); // 清空
ISereinIoc Register(Type type, params object[] parameters);
ISereinIoc Register<T>(params object[] parameters);
ISereinIoc Register<TService, TImplementation>(params object[] parameters) where TImplementation : TService;
T GetOrInstantiate<T>();
object GetOrInstantiate(Type type);
/// <summary>
/// 创建目标类型的对象, 并注入依赖项
/// </summary>
object Instantiate(Type type, params object[] parameters);
ISereinIoc Build();
ISereinIoc Run<T>(Action<T> action);
ISereinIoc Run<T1, T2>(Action<T1, T2> action);
ISereinIoc Run<T1, T2, T3>(Action<T1, T2, T3> action);
ISereinIoc Run<T1, T2, T3, T4>(Action<T1, T2, T3, T4> action);
ISereinIoc Run<T1, T2, T3, T4, T5>(Action<T1, T2, T3, T4, T5> action);
ISereinIoc Run<T1, T2, T3, T4, T5, T6>(Action<T1, T2, T3, T4, T5, T6> action);
ISereinIoc Run<T1, T2, T3, T4, T5, T6, T7>(Action<T1, T2, T3, T4, T5, T6, T7> action);
ISereinIoc Run<T1, T2, T3, T4, T5, T6, T7, T8>(Action<T1, T2, T3, T4, T5, T6, T7, T8> action);
}
}