@Override public void onGameFinished() { Debug.c(); stopTimer(); Debug.showLong("Game Finished", this); showScoreActivity(); }
private void startTimer() { Debug.c(); if (mGameManager != null && !mGameManager.isGameFinished()) { // Game holds the timer // so need to start Game timer via GameManager mGameManager.startTimer(); TimerTask timerTask = new TimerTask() { @Override public void run() { runOnUiThread( new Runnable() { @Override public void run() { updateTimeElapsed(mGameManager.getElapsedTime()); } }); } }; mTimer = new Timer(); mTimer.schedule(timerTask, 0, 1000); } }
@Override protected void onResume() { super.onResume(); Debug.c(); if (mGameManager != null) { startTimer(); } }
private void stopTimer() { Debug.c(); if (mGameManager != null && mTimer != null) { mGameManager.stopTimer(); mTimer.cancel(); mTimer = null; } }
@Override public void updateTimeElapsed(long elapsedTime) { int elapsedTimeInSeconds = (int) elapsedTime / 1000; int remainingTime = (GameConstants.GAME_DURATION - elapsedTimeInSeconds); String toShow; if (remainingTime > 0) { toShow = getResources().getString(R.string.time) + " " + remainingTime; } else { toShow = "Time's Up"; mGameManager.finishGame(); } Debug.i(String.valueOf(elapsedTimeInSeconds), false); timeTextView.setText(toShow); }
private void setupGame() { Debug.c(); mGameManager = new GameManager(mBoardLayoutView, this); }