@Override public String toString() { StringBuilder sb = new StringBuilder(); tradeSteps.stream().forEach(step -> sb.append(step.getWare().name()).append(" ")); return "AggregatedBuyTradeStep in "+city.getName()+" buying: "+ sb.toString(); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); tradeSteps.stream().forEach(step -> sb.append(step.getWare().name()).append(" ")); return "AggregatedBuyTradingOfficeTradeStep in "+city.getName()+" buying: "+ sb.toString(); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); tradeSteps.stream().forEach(step -> sb.append(step.getWare().name()).append(" ")); return "AggregatedCheckedBuyTradeStep in "+city.getName()+" buying: "+ sb.toString(); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); tradeSteps.stream().forEach(step -> sb.append(step.getWare().name()).append(" ")); return "AggregatesSellTradeStep in "+city.getName()+" buying: "+ sb.toString(); }
@Override public String toString() { StringBuilder sb = new StringBuilder(); tradeSteps.stream().forEach(step -> sb.append(step.getWare().name()).append(" ")); return getClass().getSimpleName()+" in "+city.getName()+" buying: "+ sb.toString(); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); tradeSteps.stream().forEach(step -> sb.append(step.getWare().name()).append(" ")); return "AggregatesCheckedSellTradeStep in "+city.getName()+" buying: "+ sb.toString(); }
@Override public boolean execute() { int availableAmount = city.getWare(ware).getAmount(); int sellAmount = vessel.getWare(ware).getAmount(); if (sellAmount > 0) { int sellPrice = computablePrice.sellPrice(getWare(), new SimpleIntegerProperty(availableAmount), new ConstantIntegerBinding(sellAmount)); IAIPlayer player = (IAIPlayer) vessel.getOwner(); ICompany company = player.getCompany(); LOGGER.trace("Before: cash={}, in city={}, on ship={}", company.getCash(), city.getWare(ware).getAmount(), vessel.getWare(ware).getAmount()); company.updateCashDirectly(sellPrice * sellAmount); city.move(getWare(), sellAmount, player); vessel.load(getWare(), sellAmount, sellPrice); LOGGER.trace("Sold {} of {} for a total of: {} ", sellAmount, ware.name(), sellPrice * sellAmount); LOGGER.trace("After: cash={}, in city={}, on ship={}", company.getCash(), city.getWare(ware).getAmount(), vessel.getWare(ware).getAmount()); // TODO ahotz 20.05.2016: handle case where there are ships owned by other players in the convoy } return true; } }