Added attribute validators for min and range attributes

This commit is contained in:
Anders Ejlersen 2026-05-19 20:24:16 +02:00
parent 591693da1d
commit 47c9c53819
6 changed files with 56 additions and 1 deletions

View file

@ -0,0 +1,23 @@
using UnityEngine;
namespace Module.ProjectValidator.Editor
{
internal sealed class AttributeValidatorRange : IAttributeValidator<RangeAttribute>
{
public ValidatorResult Validate(RangeAttribute attribute, object value)
{
if (value is int iValue)
{
if (iValue < attribute.min || iValue > attribute.max)
return ValidatorResult.Create(EValidatorSeverity.Error, $"Value {iValue} is not in the range [{attribute.min};{attribute.max}]");
}
else if (value is float fValue)
{
if (fValue < attribute.min || fValue > attribute.max)
return ValidatorResult.Create(EValidatorSeverity.Error, $"Value {fValue} is not in the range [{attribute.min};{attribute.max}]");
}
return ValidatorResult.Valid;
}
}
}