26 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
27 List<ResData> data =
new ArrayList<ResData>();
29 float widthOverride = -1f;
30 for (
int i = 0; i < params.size(); i++) {
31 Token t = params.get(i);
33 boolean commodityId = !t.isBoolean(memoryMap) && !t.isFloat(memoryMap);
35 ResData curr =
new ResData();
36 curr.id = t.getString(memoryMap);
40 curr.qty = (int) t.getFloat(memoryMap);
42 if (params.size() > i + 1) {
43 t = params.get(i + 1);
44 if (t.isBoolean(memoryMap)) {
45 curr.consumed = t.getBoolean(memoryMap);
51 }
else if (t.isFloat(memoryMap)) {
52 widthOverride = t.getFloat(memoryMap);
57 String [] ids =
new String [data.size()];
58 int [] qty =
new int [data.size()];
59 boolean [] consumed =
new boolean [data.size()];
61 for (
int i = 0; i < data.size(); i++) {
62 ResData curr = data.get(i);
65 consumed[i] = curr.consumed;
68 Misc.showCost(dialog.getTextPanel(),
"Resources: required (available)",
true, widthOverride,
null,
null, ids, qty, consumed);