@Override public void execute() { loadGame(); } });
@Override public void execute() { loadMap(mapId); } });
@Override public void execute() { saveGame(); } });
public void loadMap(final String mapId) { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { loadMap(mapId); } }); return; } mCurrentMapId = mapId; KeyValueStore gameConfig = createGameConfig(mapId); initializeGame(gameConfig, null); }
} catch (FileNotFoundException e) { Log.i(TAG, "No save game file found."); loadMap(mMapRepository.getDefaultMapId()); return; } catch (Exception e) { loadMap(mMapRepository.getDefaultMapId()); return; KeyValueStore gameConfig = createGameConfig(mCurrentMapId); initializeGame(gameConfig, gameState);
void close() { mGameLoader.removeListener(this); mScoreBoard.removeCreditsListener(this); mHandler.removeCallbacksAndMessages(null); }
public void updateHighScore() { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { updateHighScore(); } }); return; } String mapId = mGameLoader.getCurrentMapId(); int highScore = getHighScore(mapId); int score = mScoreBoard.getScore(); if (score > highScore) { mHighScores.edit().putInt(mapId, score).apply(); } }
private void initializeGame(KeyValueStore gameConfig, KeyValueStore gameState) { Log.d(TAG, "Initializing game..."); mGameEngine.clear(); GameMap map = new GameMap(gameConfig); mViewport.setGameSize(map.getWidth(), map.getHeight()); if (gameState != null) { mGamePersister.readState(gameConfig, gameState); } else { mGamePersister.resetState(gameConfig); initializeMap(map); } for (Listener listener : mListeners) { listener.gameLoaded(); } Log.d(TAG, "Game loaded."); }
TowerViewControl(List<TowerView> towerViews) { mTowerViews = towerViews; GameFactory factory = AnutoApplication.getInstance().getGameFactory(); mScoreBoard = factory.getScoreBoard(); mGameLoader = factory.getGameLoader(); mTowerInserter = factory.getTowerInserter(); mHandler = new Handler(); mGameLoader.addListener(this); mScoreBoard.addCreditsListener(this); for (TowerView towerView : mTowerViews) { towerView.setOnTouchListener(this); } }
private void initializeBusiness(Context context) { mMapRepository = new MapRepository(); mScoreBoard = new ScoreBoard(mGameEngine); mTowerSelector = new TowerSelector(mGameEngine, mScoreBoard); mGameLoader = new GameLoader(context, mGameEngine, mGamePersister, mViewport, mEntityRegistry, mMapRepository); mHighScores = new HighScores(context, mGameEngine, mScoreBoard, mGameLoader); mGameState = new GameState(mScoreBoard, mHighScores, mTowerSelector); mTowerAging = new TowerAging(mGameEngine); mSpeedManager = new GameSpeed(mGameEngine); mWaveManager = new WaveManager(mGameEngine, mScoreBoard, mGameState, mEntityRegistry, mTowerAging); mTowerControl = new TowerControl(mGameEngine, mScoreBoard, mTowerSelector, mEntityRegistry); mTowerInserter = new TowerInserter(mGameEngine, mGameState, mEntityRegistry, mTowerSelector, mTowerAging, mScoreBoard); mTutorialControl = new TutorialControl(context, mTowerInserter, mTowerSelector, mWaveManager); }
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mGameLoader.loadMap(mMapRepository.getMapInfos().get(position).getMapId()); finish(); }
@Override public void onPause() { super.onPause(); mGameLoader.saveGame(); mGameEngine.stop(); }
@Override protected void onCreate(Bundle savedInstanceState) { mGameLoader.loadGame(); super.onCreate(savedInstanceState); setContentView(R.layout.activity_game); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); view_tower_defense = (GameView) findViewById(R.id.view_tower_defense); }
public void restart() { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { restart(); } }); return; } if (mCurrentMapId == null) { return; } loadMap(mCurrentMapId); }
private void loadMap(String mapId) { mGameFactory.getGameLoader().loadMap(mapId); waitForGameRestarted(); installTickHandler(); }