diff options
Diffstat (limited to 'source/game/input/conditions/AllCondition.cs')
| -rw-r--r-- | source/game/input/conditions/AllCondition.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/game/input/conditions/AllCondition.cs b/source/game/input/conditions/AllCondition.cs new file mode 100644 index 0000000..183acfb --- /dev/null +++ b/source/game/input/conditions/AllCondition.cs @@ -0,0 +1,15 @@ +using Celesteia.Game.Input.Definitions; + +namespace Celesteia.Game.Input.Conditions { + public class AllCondition : ICondition<bool> { + private IBinaryInputDefinition[] _definitions; + + public AllCondition(params IBinaryInputDefinition[] definitions) + => _definitions = definitions; + + public bool Poll() { + for (int i = 0; i < _definitions.Length; i++) if (!_definitions[i].Test()) return false; + return true; + } + } +}
\ No newline at end of file |
