private void updateTowerEnabled() { for (TowerView towerView : mTowerViews) { towerView.setEnabled(mScoreBoard.getCredits() >= towerView.getTowerValue()); } } }
@Override public boolean apply(Tower tower) { return tower.getValue() > scoreBoard.getCredits(); } })
private void showTowerInfoView() { mTowerInfo = new TowerInfo( mSelectedTower, mScoreBoard.getCredits(), mControlsEnabled ); if (mTowerInfoView != null) { mTowerInfoView.showTowerInfo(mTowerInfo); for (Listener listener : mListeners) { listener.towerInfoShown(); } } }
@Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { TowerView towerView = (TowerView) v; if (mScoreBoard.getCredits() >= towerView.getTowerValue()) { mTowerInserter.insertTower(towerView.getTowerName()); View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder() { @Override public void onProvideShadowMetrics(Point shadowSize, Point shadowTouchPoint) { } @Override public void onDrawShadow(Canvas canvas) { } }; ClipData data = ClipData.newPlainText("", ""); towerView.startDrag(data, shadowBuilder, towerView, 0); } } return false; }
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()));
public void insertTower(final String towerName) { if (mGameEngine.isThreadChangeNeeded()) { mGameEngine.post(new Message() { @Override public void execute() { insertTower(towerName); } }); return; } if (mInsertedTower == null && !mGameState.isGameOver() && mScoreBoard.getCredits() >= mTowerDefaultValue.getDefaultValue(towerName)) { showTowerLevels(); mInsertedTower = (Tower) mEntityRegistry.createEntity(towerName); } }
@Override public boolean apply(Tower tower) { return mTowerTiers.getTowerTier(tower) == tier && tower.isUpgradeable() && tower.getUpgradeCost() > scoreBoard.getCredits(); } })
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(); } } }
if (upgradeCost > mScoreBoard.getCredits()) { return;
private void tryEnhanceTower() { final TowerSelector towerSelector = getGameFactory().getTowerSelector(); final TowerControl towerControl = getGameFactory().getTowerControl(); final ScoreBoard scoreBoard = getGameFactory().getScoreBoard(); StreamIterator<Tower> iterator = getTowers(); while (iterator.hasNext()) { Tower tower = iterator.next(); final int tier = mTowerTiers.getTowerTier(tower); if (!tower.isEnhanceable() || tower.getEnhanceCost() > scoreBoard.getCredits()) { continue; } int enhancedTowersInTier = getTowers() .filter(new Predicate<Tower>() { @Override public boolean apply(Tower tower) { return mTowerTiers.getTowerTier(tower) == tier && tower.getLevel() > 1; } }) .count(); if (enhancedTowersInTier >= MAX_ENHANCED_TOWERS_PER_TIER) { continue; } towerSelector.selectTower(tower); towerControl.enhanceTower(); return; } }
final int tier = mTowerTiers.getTowerTier(tower); if (!tower.isUpgradeable() || tower.getUpgradeCost() > scoreBoard.getCredits()) { continue;