From: "Enrico Weigelt, metux IT consult" <[email protected]>
---
.../freecol/client/control/InGameController.java | 31 ++++++++++++++--------
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/src/net/sf/freecol/client/control/InGameController.java
b/src/net/sf/freecol/client/control/InGameController.java
index 1ec1857f4bb..ba06c1c1acf 100644
--- a/src/net/sf/freecol/client/control/InGameController.java
+++ b/src/net/sf/freecol/client/control/InGameController.java
@@ -1294,6 +1294,23 @@ public final class InGameController extends
FreeColClientHolder {
return result;
}
+ private List<ChoiceItem<NativeTradeItem>>
getNativeTradeItemChoices(List<NativeTradeItem> items) {
+ List<ChoiceItem<NativeTradeItem>> result = new ArrayList<>();
+ for (NativeTradeItem nti : items)
+ result.add(new ChoiceItem<NativeTradeItem>(
+ Messages.message(nti.getGoods().getLabel(true)),nti));
+ return result;
+ }
+
+ private List<ChoiceItem<NativeTradeItem>>
getNativeTradeItemChoicesPriceValid(List<NativeTradeItem> items) {
+ List<ChoiceItem<NativeTradeItem>> result = new ArrayList<>();
+ for (NativeTradeItem nti : items)
+ if (nti.priceIsValid())
+ result.add(new ChoiceItem<NativeTradeItem>(
+ Messages.message(nti.getGoods().getLabel(true)),nti));
+ return result;
+ }
+
/**
* Check the carrier for passengers to disembark, possibly
* snatching a useful result from the jaws of a
@@ -3962,11 +3979,6 @@ public final class InGameController extends
FreeColClientHolder {
// "enhanced trade" mode.
nt.limitSettlementToUnit(3);
- final Function<NativeTradeItem, ChoiceItem<NativeTradeItem>>
- goodsMapper = i -> {
- String label = Messages.message(i.getGoods().getLabel(true));
- return new ChoiceItem<>(label, i);
- };
while (!nt.getDone()) {
if (act == null) {
if (prompt == null) prompt = base;
@@ -3981,8 +3993,7 @@ public final class InGameController extends
FreeColClientHolder {
if (nti == null) {
nti = getGUI().getChoice(unit.getTile(),
Messages.message("buyProposition.text"), is, "nothing",
- transform(nt.getSettlementToUnit(),
- NativeTradeItem::priceIsValid, goodsMapper));
+
getNativeTradeItemChoicesPriceValid(nt.getSettlementToUnit()));
if (nti == null) break;
nt.setItem(nti);
}
@@ -4002,8 +4013,7 @@ public final class InGameController extends
FreeColClientHolder {
if (nti == null) {
nti = getGUI().getChoice(unit.getTile(),
Messages.message("sellProposition.text"), is,
"nothing",
- transform(nt.getUnitToSettlement(),
- NativeTradeItem::priceIsValid, goodsMapper));
+
getNativeTradeItemChoicesPriceValid(nt.getUnitToSettlement()));
if (nti == null) break;
nt.setItem(nti);
}
@@ -4022,8 +4032,7 @@ public final class InGameController extends
FreeColClientHolder {
act = null;
nti = getGUI().getChoice(unit.getTile(),
Messages.message("gift.text"), is, "cancel",
- transform(nt.getUnitToSettlement(), alwaysTrue(),
- goodsMapper));
+ getNativeTradeItemChoices(nt.getUnitToSettlement()));
if (nti != null) {
nt.setItem(nti);
askServer().nativeTrade(NativeTradeAction.GIFT, nt);
--
2.11.0.rc0.7.gbe5a750
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Freecol-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freecol-developers