本文整理汇总了Java中net.sf.freecol.common.model.Tile.getOwner方法的典型用法代码示例。如果您正苦于以下问题:Java Tile.getOwner方法的具体用法?Java Tile.getOwner怎么用?Java Tile.getOwner使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.sf.freecol.common.model.Tile
的用法示例。
在下文中一共展示了Tile.getOwner方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: askClaimTile
import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
/**
* Claim a tile.
*
* @param player The {@code Player} that is claiming.
* @param tile The {@code Tile} to claim.
* @param claimant The {@code Unit} or {@code Colony} claiming.
* @param price The price required.
* @return True if the claim succeeded.
*/
private boolean askClaimTile(Player player, Tile tile,
FreeColGameObject claimant, int price) {
final Player owner = tile.getOwner();
if (price < 0) { // not for sale
return false;
} else if (price > 0) { // for sale
ClaimAction act
= getGUI().getClaimChoice(tile, player, price, owner);
if (act == null) return false; // Cancelled
switch (act) {
case CLAIM_ACCEPT: // accepted price
break;
case CLAIM_STEAL:
price = STEAL_LAND;
break;
default:
logger.warning("Claim dialog fail: " + act);
return false;
}
} // else price == 0 and we can just proceed to claim
// Ask the server
return askServer().claimTile(tile, claimant, price)
&& player.owns(tile);
}
示例2: clientHandler
import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void clientHandler(FreeColClient freeColClient) {
final Game game = freeColClient.getGame();
final Player player = getPlayer(game);
final Player other = getOtherPlayer(game);
final Tile tile = getTile(game);
final int n = getSettlementCount();
if (player == null || player != freeColClient.getMyPlayer()) {
logger.warning("firstContact with bad player: " + player);
return;
}
if (other == null || other == player || !other.isIndian()) {
logger.warning("firstContact with bad other player: " + other);
return;
}
if (tile != null && tile.getOwner() != other) {
logger.warning("firstContact with bad tile: " + tile);
return;
}
igc(freeColClient).firstContactHandler(player, other, tile, n);
clientGeneric(freeColClient);
}
示例3: csClaimLand
import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
/**
* Claim land.
*
* @param tile The {@code Tile} to claim.
* @param settlement The {@code Settlement} to claim for.
* @param price The price to pay for the land, which must agree
* with the owner valuation, unless negative which denotes stealing.
* @param cs A {@code ChangeSet} to update.
*/
public void csClaimLand(Tile tile, Settlement settlement, int price,
ChangeSet cs) {
ServerPlayer owner = (ServerPlayer)tile.getOwner();
Settlement ownerSettlement = tile.getOwningSettlement();
tile.cacheUnseen();//+til
tile.changeOwnership(this, settlement);//-vis(?),-til
// Update the tile and any now-angrier owners, and the player
// gold if a price was paid.
cs.add(See.perhaps(), tile);
if (price > 0) {
modifyGold(-price);
owner.modifyGold(price);
cs.addPartial(See.only(this), this,
"gold", String.valueOf(this.getGold()));
} else if (price < 0 && owner.isIndian()) {
ServerIndianSettlement sis = (ServerIndianSettlement)ownerSettlement;
if (sis == null) {
owner.csModifyTension(this, Tension.TENSION_ADD_LAND_TAKEN,
cs);
} else {
sis.csModifyAlarm(this, Tension.TENSION_ADD_LAND_TAKEN,
true, cs);
}
}
logger.finest(this.getName() + " claimed " + tile
+ " from " + ((owner == null) ? "no-one" : owner.getName())
+ ", price: " + ((price == 0) ? "free" : (price < 0) ? "stolen"
: price));
}
示例4: csNativeBurialGround
import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
/**
* Explores a lost city, finding a native burial ground.
*
* @param cs A {@code ChangeSet} to add changes to.
*/
private void csNativeBurialGround(ChangeSet cs) {
ServerPlayer serverPlayer = (ServerPlayer)getOwner();
Tile tile = getTile();
ServerPlayer indianPlayer = (ServerPlayer)tile.getOwner();
serverPlayer.csContact(indianPlayer, cs);
indianPlayer.csModifyTension(serverPlayer,
Tension.Level.HATEFUL.getLimit(), cs);//+til
serverPlayer.csChangeStance(Stance.WAR, indianPlayer, true, cs);
cs.addMessage(serverPlayer,
new ModelMessage(ModelMessage.MessageType.LOST_CITY_RUMOUR,
RumourType.BURIAL_GROUND.getDescriptionKey(),
serverPlayer, this)
.addStringTemplate("%nation%", indianPlayer.getNationLabel()));
}
示例5: confirmHostileAction
import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
/**
* Check if an attack results in a transition from peace or cease fire to
* war and, if so, warn the player.
*
* @param attacker The potential attacking {@code Unit}.
* @param target The target {@code Tile}.
* @return True to attack, false to abort.
*/
public boolean confirmHostileAction(Unit attacker, Tile target) {
if (attacker.hasAbility(Ability.PIRACY)) {
// Privateers can attack and remain at peace
return true;
}
Player enemy;
if (target.hasSettlement()) {
enemy = target.getSettlement().getOwner();
} else if (target == attacker.getTile()) {
// Fortify on tile owned by another nation
enemy = target.getOwner();
if (enemy == null) return true;
} else {
Unit defender = target.getDefendingUnit(attacker);
if (defender == null) {
logger.warning("Attacking, but no defender - will try!");
return true;
}
if (defender.hasAbility(Ability.PIRACY)) {
// Privateers can be attacked and remain at peace
return true;
}
enemy = defender.getOwner();
}
String messageId;
switch (attacker.getOwner().getStance(enemy)) {
case WAR:
logger.finest("Player at war, no confirmation needed");
return true;
case CEASE_FIRE:
messageId = "confirmHostile.ceaseFire";
break;
case ALLIANCE:
messageId = "confirmHostile.alliance";
break;
case UNCONTACTED: case PEACE: default:
messageId = "confirmHostile.peace";
break;
}
return confirm(attacker.getTile(), StringTemplate
.template(messageId)
.addStringTemplate("%nation%", enemy.getNationLabel()),
attacker, "confirmHostile.yes", "cancel");
}
示例6: displayOptionalTileText
import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
/**
* Displays the Tile text for a Tile.
* Shows tile names, coordinates and colony values.
*
* @param g The Graphics2D object on which the text gets drawn.
* @param tile The Tile to draw the text on.
*/
void displayOptionalTileText(Graphics2D g, Tile tile) {
String text = null;
int op = getClientOptions().getInteger(ClientOptions.DISPLAY_TILE_TEXT);
switch (op) {
case ClientOptions.DISPLAY_TILE_TEXT_NAMES:
text = Messages.getName(tile);
break;
case ClientOptions.DISPLAY_TILE_TEXT_OWNERS:
if (tile.getOwner() != null) {
text = Messages.message(tile.getOwner().getNationLabel());
}
break;
case ClientOptions.DISPLAY_TILE_TEXT_REGIONS:
if (tile.getRegion() != null) {
if (FreeColDebugger.isInDebugMode(FreeColDebugger.DebugMode.MENUS)
&& tile.getRegion().getName() == null) {
text = tile.getRegion().getSuffix();
} else {
text = Messages.message(tile.getRegion().getLabel());
}
}
break;
case ClientOptions.DISPLAY_TILE_TEXT_EMPTY:
break;
default:
logger.warning("displayTileText option " + op + " out of range");
break;
}
g.setColor(Color.BLACK);
g.setFont(FontLibrary.createFont(FontLibrary.FontType.NORMAL,
FontLibrary.FontSize.TINY, lib.getScaleFactor()));
if (text != null) {
int b = getBreakingPoint(text);
if (b == -1) {
g.drawString(text,
(tileWidth - g.getFontMetrics().stringWidth(text)) / 2,
(tileHeight - g.getFontMetrics().getAscent()) / 2);
} else {
g.drawString(text.substring(0, b),
(tileWidth - g.getFontMetrics().stringWidth(text.substring(0, b)))/2,
halfHeight - (g.getFontMetrics().getAscent()*2)/3);
g.drawString(text.substring(b+1),
(tileWidth - g.getFontMetrics().stringWidth(text.substring(b+1)))/2,
halfHeight + (g.getFontMetrics().getAscent()*2)/3);
}
}
if (FreeColDebugger.debugDisplayCoordinates()) {
String posString = tile.getX() + ", " + tile.getY();
if (tile.getHighSeasCount() >= 0) {
posString += "/" + Integer.toString(tile.getHighSeasCount());
}
g.drawString(posString,
(tileWidth - g.getFontMetrics().stringWidth(posString)) / 2,
(tileHeight - g.getFontMetrics().getAscent()) / 2);
}
String value = DebugUtils.getColonyValue(tile);
if (value != null) {
g.drawString(value,
(tileWidth - g.getFontMetrics().stringWidth(value)) / 2,
(tileHeight - g.getFontMetrics().getAscent()) / 2);
}
}