using System.Collections.Generic; namespace AI.AgentIntegration { /// /// 表示一个应用程序操作 /// public class AppAction { /// /// 获取或设置操作类型 /// public AppActionType Action { get; set; } /// /// 获取或设置操作参数字典 /// public Dictionary Parameters { get; set; } = new Dictionary(); /// /// 创建 AppAction,使用它可以让调用代码变得简短 /// /// 类型 /// 参数 /// AppAction 对象 public static AppAction CreateAction(AppActionType type, Dictionary? parameters = null) { return new AppAction() { Action = type, Parameters = parameters ?? new Dictionary(), }; } /// /// 创建一个支持单个参数的 Action /// /// 类型 /// 参数名 /// 参数值 /// AppAction 对象 public static AppAction CreateAction(AppActionType type, string name, object value) { return new AppAction() { Action = type, Parameters = new Dictionary() { [name] = value }, }; } /// /// 创建加载散点文件的 action /// /// 文件路径 /// AppAction 对象 public static AppAction CreateLoadXyz(string path) { return CreateAction(AppActionType.GriddingModuleLoadXyz, nameof(path), path); } /// /// 创建从文件导入井点数据的 action /// /// 井点数据文件路径 /// AppAction 对象 public static AppAction CreateImportWellPoints(string path) { return CreateAction(AppActionType.WellModuleImportWellPoints, nameof(path), path); } /// /// 创建从文件导入井曲线数据的 action /// /// 井曲线数据文件路径 /// AppAction 对象 public static AppAction CreateImportWellCurves(string path) { return CreateAction(AppActionType.WellModuleImportCurves, nameof(path), path); } /// /// 创建打开文件的 action /// /// 文件路径 /// AppAction 对象 public static AppAction CreateOpenFile(string path) { return CreateAction(AppActionType.OpenFile, nameof(path), path); } /// /// 创建参数设置 /// /// 参数 /// AppAction 对象 public static AppAction CreateSetParameters(string parameters) { return CreateAction(AppActionType.GriddingModuleSetParameters, nameof(parameters), parameters); } } }