多轮审查和修复
This commit is contained in:
34
Assets/Scripts/Core/Validation/IValidatable.cs
Normal file
34
Assets/Scripts/Core/Validation/IValidatable.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace BaseGames.Core
|
||||
{
|
||||
public enum ValidationSeverity { Error, Warning }
|
||||
|
||||
/// <summary>
|
||||
/// 单条验证结果:严重级别 + 消息文本。
|
||||
/// 使用静态工厂方法 Error() / Warning() 创建。
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 可验证 ScriptableObject 接口。实现此接口的 SO 会被 SOValidationRunner 自动扫描。
|
||||
/// Validate() 返回零条结果 = 数据合法;否则每条按 <see cref="ValidationResult.Severity"/> 分类报告。
|
||||
/// </summary>
|
||||
public interface IValidatable
|
||||
{
|
||||
IEnumerable<ValidationResult> Validate();
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/Core/Validation/IValidatable.cs.meta
Normal file
11
Assets/Scripts/Core/Validation/IValidatable.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7bb0908d1e6d6684e870b43ab3da2d01
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user