@Override
 public Scene onCreateScene() {
   mEngine.registerUpdateHandler(new FPSLogger());
   gameMapUniverse = new Universe(this, new Scene());
   grid = new World(gameMapUniverse);
   musicPlayer.play();
   gameMapUniverse.registerUpdateHandler(this);
   return gameMapUniverse.getGameScene();
 }
 private void saveGameStateAndPauseMusic() {
   musicPlayer.pause();
 }
public class GameMapActivity extends BBSGameActivity implements IUpdateHandler, GameConstants {
  // -----------------------------------------------------------------------//
  // Members                                                               //
  // -----------------------------------------------------------------------//
  private final String TAG = this.getClass().getSimpleName();
  private static MusicPlayerSingleton musicPlayer = MusicPlayerSingleton.getSingleton();
  private static GameMapActivityAssets assets = GameMapActivityAssets.getSingleton();
  private Camera camera;
  private Universe gameMapUniverse;
  private World grid;

  // -----------------------------------------------------------------------//
  // Overloaded Methods                                                    //
  // -----------------------------------------------------------------------//
  @Override
  public EngineOptions onCreateEngineOptions() {
    camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

    final EngineOptions engineOptions =
        new EngineOptions(
            true, ScreenOrientation.LANDSCAPE_SENSOR, new FillResolutionPolicy(), this.camera);
    engineOptions.getTouchOptions().setNeedsMultiTouch(true);
    engineOptions.getAudioOptions().setNeedsSound(true);
    engineOptions.getAudioOptions().setNeedsMusic(true);

    return engineOptions;
  }

  @Override
  public void onCreateResources() {
    assets.init(this);
    assets.load();
    musicPlayer.init(assets.haven_v2Music);
  }

  @Override
  public Scene onCreateScene() {
    mEngine.registerUpdateHandler(new FPSLogger());
    gameMapUniverse = new Universe(this, new Scene());
    grid = new World(gameMapUniverse);
    musicPlayer.play();
    gameMapUniverse.registerUpdateHandler(this);
    return gameMapUniverse.getGameScene();
  }

  @Override
  public void onPauseGame() {
    super.onPauseGame();
    saveGameStateAndPauseMusic();
  }

  @Override
  public boolean onKeyUp(final int pKeyCode, final KeyEvent pEvent) {

    if (pKeyCode == KeyEvent.KEYCODE_BACK) {
      saveGameStateAndPauseMusic();
      return super.onKeyUp(pKeyCode, pEvent);
    } else if (pKeyCode == KeyEvent.KEYCODE_HOME) {
      saveGameStateAndPauseMusic();

      return super.onKeyUp(pKeyCode, pEvent);
    } else {
      return super.onKeyUp(pKeyCode, pEvent);
    }
  }

  // -----------------------------------------------------------------------//
  // Private Methods                                                       //
  // -----------------------------------------------------------------------//

  private void saveGameStateAndPauseMusic() {
    musicPlayer.pause();
  }

  @Override
  public synchronized void onResumeGame() {
    super.onResumeGame();
    loadGameStateAndResumeMusic();
  }

  private void loadGameStateAndResumeMusic() {
    musicPlayer.resume();
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
  }

  @Override
  public void onUpdate(float pSecondsElapsed) {
    Log.d("onUpdate", "" + pSecondsElapsed);
  }

  @Override
  public void reset() {
    // TODO Auto-generated method stub

  }

  // -----------------------------------------------------------------------//
  // Inner classes                                                         //
  // -----------------------------------------------------------------------//
  private class MoveMonsterHandler implements BBSHandler {
    @Override
    public void onGridTouchUp() {
      //			if(grid.isValidPosition()){
      //				if(activeMonster != null){
      //					activeMonster.setGridPos(grid.getPositionX(), grid.getPositionY());
      //				}
      //			}
    }

    @Override
    public void onMonsterSelected(Monster m) {
      //			activeMonster = m;
    }
  }
}
 @Override
 public void onCreateResources() {
   assets.init(this);
   assets.load();
   musicPlayer.init(assets.haven_v2Music);
 }
 private void loadGameStateAndResumeMusic() {
   musicPlayer.resume();
 }