private void updateTowerEnabled() { for (TowerView towerView : mTowerViews) { towerView.setEnabled(mScoreBoard.getCredits() >= towerView.getTowerValue()); } } }
private void updateScore() { DecimalFormat fmt = new DecimalFormat("###,###,###,###"); txt_score.setText(getResources().getString(R.string.score) + ": " + fmt.format(mScoreBoard.getScore())); }
@Override public void onAttach(Activity activity) { super.onAttach(activity); mWaveManager.addListener(this); mSpeedManager.addListener(this); mScoreBoard.addBonusListener(this); mScoreBoard.addCreditsListener(this); mScoreBoard.addLivesListener(this); }
@Override public void resetState(KeyValueStore gameConfig) { mLives = gameConfig.getInt("lives"); mCredits = gameConfig.getInt("credits"); mCreditsEarned = 0; creditsChanged(); livesChanged(); }
public void reset(final int lives, final int credits) { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { reset(lives, credits); } }); return; } mCredits = credits; mCreditsEarned = 0; mLives = lives; mEarlyBonus = 0; mWaveBonus = 0; creditsChanged(); livesChanged(); bonusChanged(); }
txt_credits.setText(getString(R.string.credits) + ": " + StringUtils.formatSuffix(mScoreBoard.getCredits())); txt_lives.setText(getString(R.string.lives) + ": " + mScoreBoard.getLives()); txt_bonus.setText(getString(R.string.bonus) + ": " + StringUtils.formatSuffix(mScoreBoard.getWaveBonus() + mScoreBoard.getEarlyBonus())); btn_fast_forward.setText(getString(mSpeedManager.isFastForwardActive() ? R.string.fast_speed : R.string.normal_speed));
public void enhanceTower() { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { enhanceTower(); } }); return; } Tower selectedTower = mTowerSelector.getSelectedTower(); if (selectedTower != null && selectedTower.isEnhanceable()) { if (selectedTower.getEnhanceCost() <= mScoreBoard.getCredits()) { mScoreBoard.takeCredits(selectedTower.getEnhanceCost()); selectedTower.enhance(); mTowerSelector.updateTowerInfo(); } } }
public TowerSelector(GameEngine gameEngine, ScoreBoard scoreBoard) { mGameEngine = gameEngine; mScoreBoard = scoreBoard; mScoreBoard.addCreditsListener(this); }
public void takeCredits(final int credits) { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { takeCredits(credits); } }); return; } mCredits -= credits; creditsChanged(); }
public void setWaveBonus(final int waveBonus) { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { setWaveBonus(waveBonus); } }); return; } mWaveBonus = waveBonus; bonusChanged(); }
public GameState(ScoreBoard scoreBoard, HighScores highScores, TowerSelector towerSelector) { mScoreBoard = scoreBoard; mHighScores = highScores; mTowerSelector = towerSelector; mScoreBoard.addLivesListener(this); }
private void updateWaveModifiers(WaveAttender wave) { float waveHealth = wave.getWaveDefaultHealth(this.mEnemyDefaultHealth); float damagePossible = mDifficultyLinear * mScoreBoard.getCreditsEarned() + mDifficultyModifier * (float) Math.pow(mScoreBoard.getCreditsEarned(), mDifficultyExponent); float healthModifier = damagePossible / waveHealth; healthModifier = Math.max(healthModifier, mMinHealthModifier); float rewardModifier = mRewardModifier * (float) Math.pow(healthModifier, mRewardExponent); rewardModifier = Math.max(rewardModifier, mMinRewardModifier); wave.modifyEnemyHealth(healthModifier); wave.modifyEnemyReward(rewardModifier); wave.modifyWaveReward(getIterationNumber()); Log.i(TAG, String.format("waveNumber=%d", getWaveNumber())); Log.i(TAG, String.format("waveHealth=%f", waveHealth)); Log.i(TAG, String.format("creditsEarned=%d", mScoreBoard.getCreditsEarned())); Log.i(TAG, String.format("damagePossible=%f", damagePossible)); Log.i(TAG, String.format("healthModifier=%f", healthModifier)); Log.i(TAG, String.format("rewardModifier=%f", rewardModifier)); }
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); }
if (upgradeCost > mScoreBoard.getCredits()) { return; mScoreBoard.takeCredits(upgradeCost); Plateau plateau = selectedTower.getPlateau(); selectedTower.remove();
@Override public void readState(KeyValueStore gameConfig, KeyValueStore gameState) { mLives = gameState.getInt("lives"); mCredits = gameState.getInt("credits"); mCreditsEarned = gameState.getInt("creditsEarned"); creditsChanged(); livesChanged(); } }
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); } }
public void giveCredits(final int credits, final boolean earned) { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { giveCredits(credits, earned); } }); return; } mCredits += credits; if (earned) { mCreditsEarned += credits; } creditsChanged(); }
public void setEarlyBonus(final int earlyBonus) { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { setEarlyBonus(earlyBonus); } }); return; } mEarlyBonus = earlyBonus; bonusChanged(); }
@Override public boolean apply(Tower tower) { return tower.getValue() > scoreBoard.getCredits(); } })
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(); } }