From 8def4a12d6c64a88feebadd531aa6872dbfa60c7 Mon Sep 17 00:00:00 2001 From: gered Date: Mon, 30 Dec 2013 15:36:52 -0500 Subject: [PATCH] ScreenEffects should also have both onUpdateGameState and onUpdateFrame --- .../gdx/graphics/screeneffects/FadeScreenEffect.java | 8 +++----- .../gdx/graphics/screeneffects/FlashScreenEffect.java | 7 +++---- .../blarg/gdx/graphics/screeneffects/ScreenEffect.java | 5 ++++- .../gdx/graphics/screeneffects/ScreenEffectManager.java | 9 +++++++-- src/main/java/ca/blarg/gdx/states/GameState.java | 3 ++- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/main/java/ca/blarg/gdx/graphics/screeneffects/FadeScreenEffect.java b/src/main/java/ca/blarg/gdx/graphics/screeneffects/FadeScreenEffect.java index b4f34eb..edc483a 100644 --- a/src/main/java/ca/blarg/gdx/graphics/screeneffects/FadeScreenEffect.java +++ b/src/main/java/ca/blarg/gdx/graphics/screeneffects/FadeScreenEffect.java @@ -1,13 +1,11 @@ package ca.blarg.gdx.graphics.screeneffects; -import ca.blarg.gdx.Services; -import ca.blarg.gdx.graphics.ExtendedSpriteBatch; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.Texture; import ca.blarg.gdx.Services; import ca.blarg.gdx.graphics.ExtendedSpriteBatch; import ca.blarg.gdx.graphics.SolidColorTextureCache; import ca.blarg.gdx.graphics.ViewportContext; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.Texture; public class FadeScreenEffect extends ScreenEffect { @@ -83,7 +81,7 @@ public class FadeScreenEffect extends ScreenEffect } @Override - public void onUpdate(float delta) + public void onUpdateFrame(float delta) { if (isDoneFading) return; diff --git a/src/main/java/ca/blarg/gdx/graphics/screeneffects/FlashScreenEffect.java b/src/main/java/ca/blarg/gdx/graphics/screeneffects/FlashScreenEffect.java index 47af8ca..2b2b51e 100644 --- a/src/main/java/ca/blarg/gdx/graphics/screeneffects/FlashScreenEffect.java +++ b/src/main/java/ca/blarg/gdx/graphics/screeneffects/FlashScreenEffect.java @@ -1,12 +1,11 @@ package ca.blarg.gdx.graphics.screeneffects; -import ca.blarg.gdx.graphics.ExtendedSpriteBatch; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.Texture; import ca.blarg.gdx.Services; import ca.blarg.gdx.graphics.ExtendedSpriteBatch; import ca.blarg.gdx.graphics.SolidColorTextureCache; import ca.blarg.gdx.graphics.ViewportContext; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.Texture; public class FlashScreenEffect extends ScreenEffect { @@ -58,7 +57,7 @@ public class FlashScreenEffect extends ScreenEffect } @Override - public void onUpdate(float delta) + public void onUpdateFrame(float delta) { if (isFlashingIn) { alpha += (delta * flashInSpeed); diff --git a/src/main/java/ca/blarg/gdx/graphics/screeneffects/ScreenEffect.java b/src/main/java/ca/blarg/gdx/graphics/screeneffects/ScreenEffect.java index cd69a6c..8b6093a 100644 --- a/src/main/java/ca/blarg/gdx/graphics/screeneffects/ScreenEffect.java +++ b/src/main/java/ca/blarg/gdx/graphics/screeneffects/ScreenEffect.java @@ -28,7 +28,10 @@ public abstract class ScreenEffect implements Disposable public void onRender(float delta) { } - public void onUpdate(float delta) { + public void onUpdateGameState(float delta) { + } + + public void onUpdateFrame(float delta) { } public void dispose() { diff --git a/src/main/java/ca/blarg/gdx/graphics/screeneffects/ScreenEffectManager.java b/src/main/java/ca/blarg/gdx/graphics/screeneffects/ScreenEffectManager.java index eeb170d..fa53f68 100644 --- a/src/main/java/ca/blarg/gdx/graphics/screeneffects/ScreenEffectManager.java +++ b/src/main/java/ca/blarg/gdx/graphics/screeneffects/ScreenEffectManager.java @@ -125,7 +125,7 @@ public class ScreenEffectManager implements Disposable } } - public void onUpdate(float delta) { + public void onUpdateGameState(float delta) { int i = 0; while (i < effects.size()) { EffectInfo effectInfo = effects.get(i); @@ -133,12 +133,17 @@ public class ScreenEffectManager implements Disposable // index doesn't change, we're removing one, so next index now equals this index remove(i); } else { - effectInfo.effect.onUpdate(delta); + effectInfo.effect.onUpdateFrame(delta); ++i; } } } + public void onUpdateFrame(float delta) { + for (int i = 0; i < effects.size(); ++i) + effects.get(i).effect.onUpdateFrame(delta); + } + /*** misc ***/ private int getIndexFor(Class effectType) { diff --git a/src/main/java/ca/blarg/gdx/states/GameState.java b/src/main/java/ca/blarg/gdx/states/GameState.java index a09f3db..99e4245 100644 --- a/src/main/java/ca/blarg/gdx/states/GameState.java +++ b/src/main/java/ca/blarg/gdx/states/GameState.java @@ -88,11 +88,12 @@ public abstract class GameState extends EventHandler implements Disposable { } public void onUpdateGameState(float delta) { + effectManager.onUpdateGameState(delta); processManager.onUpdateGameState(delta); } public void onUpdateFrame(float delta) { - effectManager.onUpdate(delta); + effectManager.onUpdateFrame(delta); processManager.onUpdateFrame(delta); }