Fade in/out should now work with models and sprites

This commit is contained in:
Tleety
2016-03-13 02:03:49 +01:00
parent 13f44c2086
commit bbe61f300c
11 changed files with 71 additions and 45 deletions
+37
View File
@@ -0,0 +1,37 @@
#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;
}
}