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