38 lines
1.8 KiB
C#
38 lines
1.8 KiB
C#
namespace ICRebuild.Core;
|
|
|
|
public sealed record Feature(int Id, string Name, string Group, float Min = 0, float Max = 0, float Default = 0);
|
|
|
|
public static class Features
|
|
{
|
|
public static readonly Feature[] All =
|
|
[
|
|
new(1,"移速调整","移动",0,5), new(2,"最大加速度","移动"),
|
|
new(3,"强制移动","移动"), new(4,"击退距离调整","移动",0,30),
|
|
new(5,"掉落无伤","移动"), new(6,"无掉落","移动"),
|
|
new(7,"魅惑与恐惧移动处理","移动"), new(8,"状态屏蔽","移动"),
|
|
new(9,"飞天遁地","深层迷宫",-10,10,-7), new(10,"深层迷宫专用模式","深层迷宫"),
|
|
new(11,"迷宫状态显示","深层迷宫"), new(13,"技能距离调整","战斗",0,40),
|
|
new(14,"目标圈半径调整","战斗",0,5), new(15,"后摇期间可移动","战斗"),
|
|
new(16,"突进无位移","战斗"), new(17,"复唱缩减秒数","战斗",0,1),
|
|
new(18,"快速结印","战斗"), new(19,"咏唱缩减秒数","战斗",0,1),
|
|
new(20,"PVP 动画锁上限","战斗",0,1,0.6f),
|
|
new(27,"坐标移动","坐标"), new(28,"面向调整","坐标"),
|
|
new(29,"目标缩放","坐标",0.1f,5,1),
|
|
new(36,"网络记录","网络"), new(37,"包解析与 Opcode 管理","网络")
|
|
];
|
|
public static Feature Get(int id) => All.First(x => x.Id == id);
|
|
}
|
|
|
|
public enum Adaptation { Unadapted, Testable, Verified, KnownBroken }
|
|
public enum ModuleState { Disabled, Enabled, Failed }
|
|
|
|
public sealed class ModuleStatus(Feature feature)
|
|
{
|
|
public Feature Feature { get; } = feature;
|
|
public Adaptation Adaptation { get; set; } = Adaptation.Unadapted;
|
|
public ModuleState State { get; set; }
|
|
public bool Requested { get; set; }
|
|
public bool HasImplementation { get; set; }
|
|
public string Detail { get; set; } = "未接入";
|
|
}
|