37 lines
799 B
C++
37 lines
799 B
C++
#include "Systems/FadeSystem.h"
|
|
|
|
void FadeSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& cFade, double dt)
|
|
{
|
|
double dTime = dt;
|
|
if (dTime == 0.0) {
|
|
return;
|
|
}
|
|
|
|
if (!entity.Valid()) {
|
|
return;
|
|
}
|
|
|
|
if (!(bool)cFade["Out"]) {
|
|
dTime *= -1;
|
|
}
|
|
|
|
double fadeTime = cFade["FadeTime"];
|
|
double& currentTime = cFade["Time"];
|
|
currentTime += dTime;
|
|
|
|
if(currentTime > fadeTime) {
|
|
currentTime = 0.0;
|
|
}
|
|
if(currentTime < 0.0) {
|
|
currentTime = fadeTime;
|
|
}
|
|
double ratio = currentTime/fadeTime;
|
|
|
|
if(entity.HasComponent("Model")){
|
|
((glm::vec4&)entity["Model"]["Color"]).a = ratio;
|
|
}
|
|
if (entity.HasComponent("Sprite")) {
|
|
((glm::vec4&)entity["Sprite"]["Color"]).a = ratio;
|
|
|
|
}
|
|
} |