using System.Collections.Generic; namespace BaseGames.Core { public enum ValidationSeverity { Error, Warning } /// /// 单条验证结果:严重级别 + 消息文本。 /// 使用静态工厂方法 Error() / Warning() 创建。 /// public readonly struct ValidationResult { public ValidationSeverity Severity { get; } public string Message { get; } public ValidationResult(ValidationSeverity severity, string message) { Severity = severity; Message = message; } public static ValidationResult Error(string message) => new(ValidationSeverity.Error, message); public static ValidationResult Warning(string message) => new(ValidationSeverity.Warning, message); } /// /// 可验证 ScriptableObject 接口。实现此接口的 SO 会被 SOValidationRunner 自动扫描。 /// Validate() 返回零条结果 = 数据合法;否则每条按 分类报告。 /// public interface IValidatable { IEnumerable Validate(); } }