1 #include "TimeEffect.h"
2 
3 #include "../game/LevelManager.h"
4 using namespace jvgs::game;
5 
6 namespace jvgs
7 {
8     namespace effect
9     {
TimeEffect(float timeFactor,float life)10         TimeEffect::TimeEffect(float timeFactor, float life)
11                 : LifeEffect(life)
12         {
13             this->timeFactor = timeFactor;
14             LevelManager::getInstance()->setTimeFactor(timeFactor);
15         }
16 
~TimeEffect()17         TimeEffect::~TimeEffect()
18         {
19             LevelManager::getInstance()->setTimeFactor(1.0f);
20         }
21 
update(float ms)22         void TimeEffect::update(float ms)
23         {
24             LifeEffect::update(ms);
25 
26             if(isImmortal()) {
27                 LevelManager::getInstance()->setTimeFactor(timeFactor);
28             } else {
29                 float fraction = getLifeFraction();
30                 float factor = (timeFactor - 1.0f) * fraction + 1.0f;
31                 LevelManager::getInstance()->setTimeFactor(factor);
32             }
33         }
34 
render()35         void TimeEffect::render()
36         {
37         }
38     }
39 }
40