feat: add BasePower abstraction

This commit is contained in:
admin
2026-07-26 23:47:38 +02:00
commit 6dbbfc0dde
83 changed files with 7587 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
using CounterStrikeSharp.API.Core;
namespace Cs2SuperPowers.Players;
public static class Ensure
{
public static ValidationBuilder<CCSPlayerController> Player(CCSPlayerController? player)
{
return new ValidationBuilder<CCSPlayerController>(player);
}
}
public class ValidationBuilder<TEntity>(TEntity? entity)
{
private readonly Queue<IValidation<TEntity>> _validations = new();
public void Add(IValidation<TEntity> validation)
{
_validations.Enqueue(validation);
}
public bool Check()
{
return _validations.All(v => v.Validate(entity));
}
}