/** * Requiring the life support system to be changed just because the number of bay personnel changes * is a bit much. Instead we'll limit it to changes in crew size, measured by quarters. * @return true if the crew quarters capacity changed. */ private boolean crewSizeChanged() { int oldCrew = oldUnit.getEntity().getTransportBays() .stream().filter(b -> b.isQuarters()) .mapToInt(b -> (int) b.getCapacity()) .sum(); int newCrew = newEntity.getTransportBays() .stream().filter(b -> b.isQuarters()) .mapToInt(b -> (int) b.getCapacity()) .sum(); return oldCrew != newCrew; }
while (iter.hasMoreElements()) { Transporter next = iter.nextElement(); if ((next instanceof Bay) && ((Bay)next).isQuarters()) { continue;
public double getWeightQuarters() { double quartersWeight = 0; for (Bay bay : getEntity().getTransportBays()) { if (bay.isQuarters()) { quartersWeight += bay.getWeight(); } } return quartersWeight; }
public String printWeightQuarters() { double weight = 0.0; for (Bay bay : aero.getTransportBays()) { if (bay.isQuarters()) { weight += bay.getWeight(); } } if (weight > 0) { return StringUtil.makeLength("Crew quarters: ", getPrintSize() - 5) + weight + "\n"; } return ""; }
protected void addTransportBays(Entity entity) { final List<Map<String, Object>> bays = new ArrayList<>(); for (final Bay bay : entity.getTransportBays()) { if (bay.isQuarters()) { continue; } final BayData bayData = BayData.getBayType(bay); if (null != bayData) { final Map<String, Object> bayRow = new HashMap<>(); bayRow.put("name", bayData.getDisplayName()); if (bayData.isCargoBay()) { bayRow.put("size", bay.getCapacity() + Messages.getString("TROView.tons")); } else { bayRow.put("size", (int) bay.getCapacity()); } bayRow.put("doors", bay.getDoors()); bays.add(bayRow); } else { DefaultMmLogger.getInstance().warning(getClass(), "addBays()", "Could not determine bay type for " + bay.toString()); } } setModelData("bays", bays); }
if (bay.isQuarters()) { continue;
public double getWeightCarryingSpace() { double carryingSpace = getEntity().getTroopCarryingSpace(); double cargoWeight = 0; Ceil rounding = Ceil.HALFTON; if (getEntity().isSupportVehicle() && (getEntity().getWeight() < 5.0)) { rounding = Ceil.KILO; } for (Bay bay : getEntity().getTransportBays()) { if (!bay.isQuarters()) { cargoWeight += bay.getWeight(); } } return ceil(carryingSpace + cargoWeight, rounding); }
.filter(b -> !b.isQuarters()).collect(Collectors.toList()); List<Bay> newUnitBays = newEntity.getTransportBays().stream() .filter(b -> !b.isQuarters()).collect(Collectors.toList());