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);
}
}
}