using Serein.Library.Api;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Library.Entity
{
///
/// 项目输出文件
///
public class SereinProjectData
{
///
/// 基础
///
public Basic Basic { get; set; }
///
/// 依赖的DLL
///
public Library[] Librarys { get; set; }
///
/// 起始节点GUID
///
public string StartNode { get; set; }
///
/// 节点集合
///
public NodeInfo[] Nodes { get; set; }
/////
///// 区域集合
/////
//public Region[] Regions { get; set; }
}
///
/// 基础
///
public class Basic
{
///
/// 画布
///
public FlowCanvas Canvas { get; set; }
///
/// 版本
///
public string Versions { get; set; }
}
///
/// 画布
///
public class FlowCanvas
{
///
/// 宽度
///
public double Width { get; set; }
///
/// 高度
///
public double Lenght { get; set; }
///
/// 预览位置X
///
public double ViewX { get; set; }
///
/// 预览位置Y
///
public double ViewY { get; set; }
///
/// 缩放比例X
///
public double ScaleX { get; set; }
///
/// 缩放比例Y
///
public double ScaleY { get; set; }
}
///
/// DLL
///
public class Library
{
///
/// DLL名称
///
public string Name { get; set; }
///
/// 路径
///
public string Path { get; set; }
}
///
/// 节点
///
public class NodeInfo
{
///
/// GUID
///
public string Guid { get; set; }
///
/// 名称
///
public string MethodName { get; set; }
///
/// 显示标签
///
public string Label { get; set; }
///
/// 类型
///
public string Type { get; set; }
///
/// 真分支节点GUID
///
public string[] TrueNodes { get; set; }
///
/// 假分支节点
///
public string[] FalseNodes { get; set; }
///
/// 上游分支
///
public string[] UpstreamNodes { get; set; }
///
/// 异常分支
///
public string[] ErrorNodes { get; set; }
///
/// 参数
///
public Parameterdata[] ParameterData { get; set; }
///
/// 如果是区域控件,则会存在子项。
///
public string[] ChildNodeGuids { get; set; }
///
/// 于画布中的位置
///
public Position Position { get; set; }
///
/// 是否选中
///
public bool IsSelect { get; set; }
}
public class Parameterdata
{
public bool State { get; set; }
public string Value { get; set; }
public string Expression { get; set; }
}
///
/// 节点于画布中的位置
///
public class Position
{
public Position(double x, double y)
{
this.X = x; this.Y = y;
}
public double X { get; set; } = 0;
public double Y { get; set; } = 0;
}
///
/// 区域
///
public class Region
{
public string guid { get; set; }
public NodeInfo[] ChildNodes { get; set; }
}
}