Files
axyz/src/Game/Systems/FadeSystem.cpp
T

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;
}
}