Files
squad-rain-ops-mini/Plugins/IPlugin.cs

59 lines
1.3 KiB
C#

using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
namespace RainOpsMini.Plugins
{
public enum PluginCategory
{
BasicFunction, // 基础功能
PointsFunction, // 积分功能
JointBan, // 联合封禁
CombatBuff, // 战斗BUFF
AdvancedFunction // 高级功能
}
public interface IPlugin
{
/// <summary>
/// 插件名称
/// </summary>
string Name { get; }
/// <summary>
/// 插件描述
/// </summary>
string Description { get; }
/// <summary>
/// 插件分类
/// </summary>
PluginCategory Category { get; }
/// <summary>
/// 是否启用
/// </summary>
bool IsEnabled { get; }
/// <summary>
/// 获取配置对象
/// </summary>
/// <returns>配置对象</returns>
object GetConfig();
// 移除手动映射,通过 XML 注释自动读取
// Dictionary<string, string> GetConfigDescriptions();
/// <summary>
/// 更新配置
/// </summary>
/// <param name="config">JSON配置元素</param>
void UpdateConfig(JsonElement config);
/// <summary>
/// 重置配置
/// </summary>
void ResetConfig();
}
}