Afegit delay opcional al flash de la classe Screen

This commit is contained in:
2024-12-09 20:06:59 +01:00
parent 7016849587
commit 3367b70cd5
4 changed files with 24 additions and 12 deletions

View File

@@ -51,12 +51,20 @@ private:
struct FlashEffect
{
bool enabled; // Indica si el efecto está activo
int lenght; // Duración del efecto
int delay; // Frames iniciales en los que no se aplica
int counter; // Contador para el efecto
Color color; // Color del efecto
// Constructor
explicit FlashEffect(bool en = false, int cnt = 0, Color col = Color(0xFF, 0xFF, 0xFF))
: enabled(en), counter(cnt), color(col) {}
explicit FlashEffect(bool enabled = false, int lenght = 0, int delay = 0, Color color = Color(0xFF, 0xFF, 0xFF))
: enabled(enabled), lenght(lenght), delay(delay), counter(lenght), color(color) {}
// Actualiza
void update() { (enabled && counter > 0) ? counter-- : enabled = false; }
// Indica si se pude dibujar
bool isRendarable() { return enabled && counter < lenght - delay; }
};
struct ShakeEffect
@@ -155,7 +163,7 @@ public:
void shake();
// Pone la pantalla de color
void flash(Color color, int lenght);
void flash(Color color, int lenght, int delay = 0);
// Activa / desactiva los shaders
void toggleShaders();