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;
}
}