Add player input routines

This commit is contained in:
Andrew Cooper
2022-11-01 17:47:28 +11:00
parent da0f2d13ab
commit d4c5fb1df7
21 changed files with 201 additions and 31 deletions

View File

@@ -0,0 +1,26 @@
namespace King;
internal class ValidityTest
{
private readonly Predicate<float> _isValid;
private readonly Func<string> _getError;
public ValidityTest(Predicate<float> isValid, string error)
: this(isValid, () => error)
{
}
public ValidityTest(Predicate<float> isValid, Func<string> getError)
{
_isValid = isValid;
_getError = getError;
}
public bool IsValid(float value, IReadWrite io)
{
if (_isValid(value)) { return true; }
io.Write(_getError());
return false;
}
}