public void setOwner(IPlayer player) { owner = player; ownerId = player.getId(); generateDisplayName(); }
@Override public boolean isEnemyOf(IPlayer other) { if(null == other) { return true; } return (id != other.getId()) && ((team == TEAM_NONE) || (team == TEAM_UNASSIGNED) || (team != other.getTeam())); }
public IPlayer getNextValidPlayer(IPlayer p, IGame game) { //start from the next player for (int i = players.indexOf(p) + 1; i < players.size(); ++i) { if (game.getTurnForPlayer(players.get(i).getId()) != null) { return players.get(i); } } //if we haven't found one yet, start again from the beginning //worst case we reach exactly our current player again. for (int i = 0; i < (players.indexOf(p) + 1); ++i) { if (game.getTurnForPlayer(players.get(i).getId()) != null) { return players.get(i); } } //this should not happen, but if we don't find anything return ourselves again. return p; }
/** * Returns true if the given list of entities can be configured as a group. * This requires that they all have the same owner, and that none of the * units are being transported. * * @param entities * @return */ private boolean canConfigureAll(List<Entity> entities) { if (entities.size() == 1) { return true; } Set<Integer> owners = new HashSet<>(); boolean containsTransportedUnit = false; for (Entity e : entities) { containsTransportedUnit |= e.getTransportId() != Entity.NONE; owners.add(e.getOwner().getId()); } return (owners.size() == 1) && !containsTransportedUnit; }
/** * Returns true if the specified player is either the victor, or is on the * winning team. Best to call during PHASE_VICTORY. */ public boolean isPlayerVictor(IPlayer player) { if (player.getTeam() == IPlayer.TEAM_NONE) { return player.getId() == victoryPlayerId; } return player.getTeam() == victoryTeam; }
public boolean accept(Entity entity) { if (entity.getOwnerId() == client .getLocalPlayer().getId()) { return true; } return false; } });
public boolean accept(Entity entity) { if (entity.getOwner() == null) { return false; } if (ownerId == entity.getOwner().getId()) { return true; } return false; } }); e.hasNext(); ) {
/** * Return a list of all nova CEWS units the clients player owns. * @return */ private List<Entity> getMyNovaUnits() { List<Entity> novaUnits = new LinkedList<Entity>(); for (Entity ent : client.getEntitiesVector()) { if(ent.getOwnerId() == client.getLocalPlayer().getId() && ent.hasNovaCEWS()) { novaUnits.add(ent); } } return novaUnits; }
@Override protected PlayerIDandList<Coords> calculateArtyAutoHitHexes() { PlayerIDandList<Coords> artyAutoHitHexes = new PlayerIDandList<Coords>(); artyAutoHitHexes.setPlayerID(getLocalPlayer().getId()); return artyAutoHitHexes; }
private JMenu touchOffExplosivesMenu() { JMenu menu = new JMenu("Touch off explosives"); Building bldg = client.getBoard().getBuildingAt(coords); if ((bldg != null)) { for (final DemolitionCharge charge : bldg.getDemolitionCharges()) { if (charge.playerId == client.getLocalPlayer().getId() && coords.equals(charge.pos)) { JMenuItem item = new JMenuItem(charge.damage + " Damage"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { client.sendExplodeBuilding(charge); } }); menu.add(item); } } } return menu; }
@Override protected Vector<Coords> calculateArtyAutoHitHexes() { final String METHOD_NAME = "calculateArtyAutoHitHexes()"; methodBegin(getClass(), METHOD_NAME); try { // currently returns no artillery hit spots // make an empty list final PlayerIDandList<Coords> artyAutoHitHexes = new PlayerIDandList<>(); // attach my player id to it artyAutoHitHexes.setPlayerID(getLocalPlayer().getId()); return artyAutoHitHexes; } finally { methodEnd(getClass(), METHOD_NAME); } }
private void load(File f, int connId) { server.sendServerChat(server.getPlayer(connId).getName() + " loaded a new game."); // Keep track of the current id to name mapping Map<String, Integer> nameToIdMap = new HashMap<>(); Map<Integer, String> idToNameMap = new HashMap<>(); for (IPlayer p: server.getGame().getPlayersVector()) { nameToIdMap.put(p.getName(), p.getId()); idToNameMap.put(p.getId(), p.getName()); } if(!server.loadGame(f, false)) { server.sendServerChat(f.getName() + " could not be loaded"); } else { server.remapConnIds(nameToIdMap, idToNameMap); // update all the clients with the new game info Enumeration<IConnection> connEnum = server.getConnections(); while (connEnum.hasMoreElements()) { IConnection conn = connEnum.nextElement(); server.sendCurrentInfo(conn.getId()); } } }
/** * We only want to show double-blind visibility indicators on our own * mechs and teammates mechs (assuming team vision option). */ private boolean trackThisEntitiesVisibilityInfo(Entity e) { IPlayer localPlayer = this.bv.getLocalPlayer(); if (localPlayer == null) { return false; } IOptions opts = this.bv.game.getOptions(); if (opts.booleanOption(OptionsConstants.ADVANCED_DOUBLE_BLIND) //$NON-NLS-1$ && ((e.getOwner().getId() == localPlayer.getId()) || (opts.booleanOption(OptionsConstants.ADVANCED_TEAM_VISION) //$NON-NLS-1$ && (e.getOwner().getTeam() == localPlayer.getTeam())))) { return true; } return false; }
protected void deployMinefields(Vector<Minefield> deployedMinefields, int number, int type) { for (int i = 0; i < number; i++) { Coords coords = new Coords(Compute.randomInt(game.getBoard() .getWidth()), Compute.randomInt(game.getBoard().getHeight()) ); if (game.containsMinefield(coords)) { Minefield mf = game.getMinefields(coords).get(0); if (mf.getPlayerId() == getLocalPlayer().getId()) { i--; continue; } } else { Minefield mf = null; if (type == 0) { mf = Minefield.createMinefield(coords, getLocalPlayer() .getId(), Minefield.TYPE_CONVENTIONAL, 10); } else if (type == 1) { mf = Minefield.createMinefield(coords, getLocalPlayer() .getId(), Minefield.TYPE_COMMAND_DETONATED, 10); } else if (type == 2) { mf = Minefield.createMinefield(coords, getLocalPlayer() .getId(), Minefield.TYPE_VIBRABOMB, 20); } deployedMinefields.add(mf); } } }
/** * We only want to show double-blind visibility indicators on our own * mechs and teammates mechs (assuming team vision option). */ public static boolean trackThisEntitiesVisibilityInfo(IPlayer localPlayer, Entity e) { if (localPlayer == null) { return false; } if (e.getGame().getOptions().booleanOption(OptionsConstants.ADVANCED_DOUBLE_BLIND) //$NON-NLS-1$ && ((e.getOwner().getId() == localPlayer.getId()) || (e.getGame().getOptions().booleanOption(OptionsConstants.ADVANCED_TEAM_VISION) //$NON-NLS-1$ && (e.getOwner().getTeam() == localPlayer.getTeam())))) { return true; } return false; } }
public void mechEdit(Entity entity) { boolean editable = clientgui.getBots().get(entity.getOwner().getName()) != null; Client c; if (editable) { c = clientgui.getBots().get(entity.getOwner().getName()); } else { editable |= entity.getOwnerId() == clientgui.getClient().getLocalPlayer().getId(); c = clientgui.getClient(); } // display dialog UnitEditorDialog med = new UnitEditorDialog(clientgui.getFrame(), entity); // med.setPlayer(c.getLocalPlayer()); med.setVisible(true); c.sendUpdateEntity(entity); /* * if (editable && med.isSelect()) { // send changes * c.sendUpdateEntity(entity); } */ }
if (team == IPlayer.TEAM_NONE) { r.add(player.getName()); vr.addPlayerScore(player.getId(), 1.0); } else { r.add("Team " + team);
/** * Receives player information from the message packet. */ protected void receivePlayerInfo(Packet c) { int pindex = c.getIntValue(0); IPlayer newPlayer = (IPlayer) c.getObject(1); if (getPlayer(newPlayer.getId()) == null) { game.addPlayer(pindex, newPlayer); } else { game.setPlayer(pindex, newPlayer); } PreferenceManager.getClientPreferences().setLastPlayerColor(newPlayer.getColorIndex()); PreferenceManager.getClientPreferences().setLastPlayerCategory(newPlayer.getCamoCategory()); PreferenceManager.getClientPreferences().setLastPlayerCamoName(newPlayer.getCamoFileName()); }
artyAutoHitHexes.setPlayerID(p.getId());
/** * Receives player information from the message packet. */ private void receivePlayerInfo(Packet c) { int pindex = c.getIntValue(0); IPlayer newPlayer = (IPlayer) c.getObject(1); if (getPlayer(newPlayer.getId()) == null) { getGame().addPlayer(pindex, newPlayer); } else { getGame().setPlayer(pindex, newPlayer); } PreferenceManager.getClientPreferences().setLastPlayerColor( newPlayer.getColorIndex()); PreferenceManager.getClientPreferences().setLastPlayerCategory( newPlayer.getCamoCategory()); PreferenceManager.getClientPreferences().setLastPlayerCamoName( newPlayer.getCamoFileName()); }