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