ScreenEffects should also have both onUpdateGameState and onUpdateFrame

This commit is contained in:
Gered 2013-12-30 15:36:52 -05:00
parent bf659f7bc2
commit 8def4a12d6
5 changed files with 19 additions and 13 deletions

View file

@ -1,13 +1,11 @@
package ca.blarg.gdx.graphics.screeneffects; 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.Services;
import ca.blarg.gdx.graphics.ExtendedSpriteBatch; import ca.blarg.gdx.graphics.ExtendedSpriteBatch;
import ca.blarg.gdx.graphics.SolidColorTextureCache; import ca.blarg.gdx.graphics.SolidColorTextureCache;
import ca.blarg.gdx.graphics.ViewportContext; import ca.blarg.gdx.graphics.ViewportContext;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
public class FadeScreenEffect extends ScreenEffect public class FadeScreenEffect extends ScreenEffect
{ {
@ -83,7 +81,7 @@ public class FadeScreenEffect extends ScreenEffect
} }
@Override @Override
public void onUpdate(float delta) public void onUpdateFrame(float delta)
{ {
if (isDoneFading) if (isDoneFading)
return; return;

View file

@ -1,12 +1,11 @@
package ca.blarg.gdx.graphics.screeneffects; 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.Services;
import ca.blarg.gdx.graphics.ExtendedSpriteBatch; import ca.blarg.gdx.graphics.ExtendedSpriteBatch;
import ca.blarg.gdx.graphics.SolidColorTextureCache; import ca.blarg.gdx.graphics.SolidColorTextureCache;
import ca.blarg.gdx.graphics.ViewportContext; import ca.blarg.gdx.graphics.ViewportContext;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
public class FlashScreenEffect extends ScreenEffect public class FlashScreenEffect extends ScreenEffect
{ {
@ -58,7 +57,7 @@ public class FlashScreenEffect extends ScreenEffect
} }
@Override @Override
public void onUpdate(float delta) public void onUpdateFrame(float delta)
{ {
if (isFlashingIn) { if (isFlashingIn) {
alpha += (delta * flashInSpeed); alpha += (delta * flashInSpeed);

View file

@ -28,7 +28,10 @@ public abstract class ScreenEffect implements Disposable
public void onRender(float delta) { public void onRender(float delta) {
} }
public void onUpdate(float delta) { public void onUpdateGameState(float delta) {
}
public void onUpdateFrame(float delta) {
} }
public void dispose() { public void dispose() {

View file

@ -125,7 +125,7 @@ public class ScreenEffectManager implements Disposable
} }
} }
public void onUpdate(float delta) { public void onUpdateGameState(float delta) {
int i = 0; int i = 0;
while (i < effects.size()) { while (i < effects.size()) {
EffectInfo effectInfo = effects.get(i); 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 // index doesn't change, we're removing one, so next index now equals this index
remove(i); remove(i);
} else { } else {
effectInfo.effect.onUpdate(delta); effectInfo.effect.onUpdateFrame(delta);
++i; ++i;
} }
} }
} }
public void onUpdateFrame(float delta) {
for (int i = 0; i < effects.size(); ++i)
effects.get(i).effect.onUpdateFrame(delta);
}
/*** misc ***/ /*** misc ***/
private <T extends ScreenEffect> int getIndexFor(Class<T> effectType) { private <T extends ScreenEffect> int getIndexFor(Class<T> effectType) {

View file

@ -88,11 +88,12 @@ public abstract class GameState extends EventHandler implements Disposable {
} }
public void onUpdateGameState(float delta) { public void onUpdateGameState(float delta) {
effectManager.onUpdateGameState(delta);
processManager.onUpdateGameState(delta); processManager.onUpdateGameState(delta);
} }
public void onUpdateFrame(float delta) { public void onUpdateFrame(float delta) {
effectManager.onUpdate(delta); effectManager.onUpdateFrame(delta);
processManager.onUpdateFrame(delta); processManager.onUpdateFrame(delta);
} }