Files
2019-07-30 13:48:28 +02:00

92 lines
1.2 KiB
C++

#include "Binding.h"
namespace TLAC::Input
{
Binding::Binding()
{
}
Binding::~Binding()
{
for (auto& binding : InputBindings)
delete binding;
}
void Binding::AddBinding(IInputBinding* inputBinding)
{
InputBindings.push_back(inputBinding);
}
bool Binding::AnyDown()
{
for (const auto& binding : InputBindings)
{
if (binding->IsDown())
return true;
}
return false;
}
bool Binding::AnyTapped()
{
for (const auto& binding : InputBindings)
{
if (binding->IsTapped())
return true;
}
return false;
}
bool Binding::AnyReleased()
{
for (const auto& binding : InputBindings)
{
if (binding->IsReleased())
return true;
}
return false;
}
int Binding::GetDownCount()
{
int count = 0;
for (const auto& binding : InputBindings)
{
if (binding->IsDown())
count++;
}
return count;
}
int Binding::GetTappedCount()
{
int count = 0;
for (const auto& binding : InputBindings)
{
if (binding->IsTapped())
count++;
}
return count;
}
int Binding::GetReleasedCount()
{
int count = 0;
for (const auto& binding : InputBindings)
{
if (binding->IsReleased())
count++;
}
return count;
}
}