package se.rhel; import com.badlogic.gdx.Game; import com.badlogic.gdx.Screen; import se.rhel.observer.TransitionObserver; import se.rhel.screen.LoadingScreen; import se.rhel.screen.effects.TransitionScreen; import se.rhel.util.Log; /** * Group: Logic */ public class CodeName extends Game implements TransitionObserver.TransitionListener { public static final int RUNMODE_MENU = 0; public static final int RUNMODE_NO_MENU = 1; private TransitionScreen mTransition; private boolean mOnce = true; private static int mRunMode = 0; public CodeName() { this(RUNMODE_MENU); } public CodeName(int mode) { mRunMode = mode; // Log level Log.set(Log.LEVEL_DEBUG); } @Override public void create() { setScreen(new LoadingScreen(this)); } @Override public void render() { super.render(); if(mTransition != null) { mTransition.render(); } } /** * Change screen with a transition * @param screen */ public void setScreenWithTransition(Screen screen) { if(mTransition == null && mOnce) { mTransition = new TransitionScreen(this, screen); mOnce = false; } } public static boolean isInMenuMode() { return mRunMode == RUNMODE_MENU; } @Override public void done() { mTransition = null; mOnce = true; } @Override public void change(Screen toScreen) { setScreen(toScreen); } }