use of games.strategy.triplea.delegate.remote.ITechDelegate in project triplea by triplea-game.
the class TripleAPlayer method tech.
private void tech() {
if (getPlayerBridge().isGameOver()) {
return;
}
final ITechDelegate techDelegate;
try {
techDelegate = (ITechDelegate) getPlayerBridge().getRemoteDelegate();
} catch (final ClassCastException e) {
final String errorContext = "PlayerBridge step name: " + getPlayerBridge().getStepName() + ", Remote class name: " + getPlayerBridge().getRemoteDelegate().getClass();
// for some reason the client is not seeing or getting these errors, so print to err too
System.err.println(errorContext);
ClientLogger.logQuietly(errorContext, e);
throw new IllegalStateException(errorContext, e);
}
final PlayerID id = getPlayerId();
if (!soundPlayedAlreadyTechnology) {
ClipPlayer.play(SoundPath.CLIP_PHASE_TECHNOLOGY, id);
soundPlayedAlreadyTechnology = true;
}
final TechRoll techRoll = ui.getTechRolls(id);
if (techRoll != null) {
final TechResults techResults = techDelegate.rollTech(techRoll.getRolls(), techRoll.getTech(), techRoll.getNewTokens(), techRoll.getWhoPaysHowMuch());
if (techResults.isError()) {
ui.notifyError(techResults.getErrorString());
tech();
} else {
ui.notifyTechResults(techResults);
}
}
}
use of games.strategy.triplea.delegate.remote.ITechDelegate in project triplea by triplea-game.
the class AbstractAi method start.
@Override
public final void start(final String name) {
super.start(name);
final PlayerID id = getPlayerId();
if (name.endsWith("Bid")) {
final IPurchaseDelegate purchaseDelegate = (IPurchaseDelegate) getPlayerBridge().getRemoteDelegate();
final String propertyName = id.getName() + " bid";
final int bidAmount = getGameData().getProperties().get(propertyName, 0);
purchase(true, bidAmount, purchaseDelegate, getGameData(), id);
} else if (name.endsWith("Purchase")) {
final IPurchaseDelegate purchaseDelegate = (IPurchaseDelegate) getPlayerBridge().getRemoteDelegate();
final Resource pus = getGameData().getResourceList().getResource(Constants.PUS);
final int leftToSpend = id.getResources().getQuantity(pus);
purchase(false, leftToSpend, purchaseDelegate, getGameData(), id);
} else if (name.endsWith("Tech")) {
final ITechDelegate techDelegate = (ITechDelegate) getPlayerBridge().getRemoteDelegate();
tech(techDelegate, getGameData(), id);
} else if (name.endsWith("Move")) {
final IMoveDelegate moveDel = (IMoveDelegate) getPlayerBridge().getRemoteDelegate();
if (name.endsWith("AirborneCombatMove")) {
// do nothing
} else {
move(name.endsWith("NonCombatMove"), moveDel, getGameData(), id);
}
} else if (name.endsWith("Battle")) {
battle((IBattleDelegate) getPlayerBridge().getRemoteDelegate(), getGameData(), id);
} else if (name.endsWith("Politics")) {
politicalActions();
} else if (name.endsWith("Place")) {
final IAbstractPlaceDelegate placeDel = (IAbstractPlaceDelegate) getPlayerBridge().getRemoteDelegate();
place(name.contains("Bid"), placeDel, getGameData(), id);
} else if (name.endsWith("EndTurn")) {
endTurn((IAbstractForumPosterDelegate) getPlayerBridge().getRemoteDelegate(), getGameData(), id);
}
}
Aggregations