package com.niw.slappybug.manager; import org.andengine.engine.Engine; import com.niw.slappybird.base.BaseScene; public class SceneManager { //--------------------------------------------- // SCENES //--------------------------------------------- private BaseScene splashScene; private BaseScene menuScene; private BaseScene gameScene; private BaseScene loadingScene; //--------------------------------------------- // VARIABLES //--------------------------------------------- private static final SceneManager INSTANCE = new SceneManager(); private SceneType currentSceneType = SceneType.SCENE_SPLASH; private BaseScene currentScene; private Engine engine = ResourcesManager.getInstance().engine; public enum SceneType { SCENE_SPLASH, SCENE_MENU, SCENE_GAME, SCENE_LOADING, } //--------------------------------------------- // CLASS LOGIC //--------------------------------------------- public void setScene(BaseScene scene) { engine.setScene(scene); currentScene = scene; currentSceneType = scene.getSceneType(); } public void setScene(SceneType sceneType) { switch (sceneType) { case SCENE_MENU: setScene(menuScene); break; case SCENE_GAME: setScene(gameScene); break; case SCENE_SPLASH: setScene(splashScene); break; case SCENE_LOADING: setScene(loadingScene); break; default: break; } } //--------------------------------------------- // GETTERS AND SETTERS //--------------------------------------------- public static SceneManager getInstance() { return INSTANCE; } public SceneType getCurrentSceneType() { return currentSceneType; } public BaseScene getCurrentScene() { return currentScene; } }