Animation system now listens to pause events

This commit is contained in:
2015-10-15 18:39:47 +02:00
parent a9eb3197de
commit f335955396
2 changed files with 23 additions and 0 deletions
+15
View File
@@ -6,8 +6,17 @@ void dd::Systems::AnimationSystem::RegisterComponents(ComponentFactory* cf)
cf->Register<Components::Animation>();
}
void dd::Systems::AnimationSystem::Initialize()
{
EVENT_SUBSCRIBE_MEMBER(m_EPause, &AnimationSystem::OnPause);
}
void dd::Systems::AnimationSystem::Update(double dt)
{
if (m_Paused) {
return;
}
auto animations = m_World->GetComponentsOfType<Components::Animation>();
if (animations == nullptr) {
return;
@@ -18,3 +27,9 @@ void dd::Systems::AnimationSystem::Update(double dt)
animation->Time += animation->Speed * dt;
}
}
bool dd::Systems::AnimationSystem::OnPause(const Events::Pause& e)
{
m_Paused = !m_Paused;
return true;
}