Initial import of IC.Rebuild
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
using System.Collections.Frozen;
|
||||
|
||||
namespace ICRebuild.Core;
|
||||
|
||||
public static class ValidationCatalog
|
||||
{
|
||||
public const string ClientVersion="2026.10.06.0000.0000";
|
||||
public const string BaselineClientVersion="2026.09.15.0000.0000";
|
||||
public static bool IsAuditedVersion(string? version) => version is ClientVersion or BaselineClientVersion;
|
||||
// Explicit user confirmation, 2026-10-11. This is not inferred from compilation or hook startup.
|
||||
public static readonly FrozenSet<int> UserConfirmed = new[] {1,2,3,9,10,11,13,14,15,16,17,19,27,28,29}.ToFrozenSet();
|
||||
public static void Apply(ModuleManager modules,string clientVersion)
|
||||
{
|
||||
if(!IsAuditedVersion(clientVersion)) return;
|
||||
foreach(var id in UserConfirmed)
|
||||
if(modules.Status.TryGetValue(id,out var state) && state.HasImplementation) state.Adaptation=Adaptation.Verified;
|
||||
}
|
||||
}
|
||||
|
||||
public static class StatusPresentation
|
||||
{
|
||||
public static string Summary(ModuleStatus state)
|
||||
{
|
||||
var validation=state.Adaptation switch
|
||||
{
|
||||
Adaptation.Verified=>"已实测有效",
|
||||
Adaptation.KnownBroken=>"已知问题",
|
||||
_ when !state.HasImplementation=>"暂不可用",
|
||||
_ when state.Feature.Id==14=>"待复测",
|
||||
_=>"待实测"
|
||||
};
|
||||
var running=state.State switch {ModuleState.Enabled=>"已开启",ModuleState.Failed=>"运行异常",_=>"已关闭"};
|
||||
return $"{validation} · {running}";
|
||||
}
|
||||
public static bool ShowDetail(ModuleStatus state) => !state.HasImplementation || state.State==ModuleState.Failed || state.Adaptation==Adaptation.KnownBroken;
|
||||
}
|
||||
Reference in New Issue
Block a user