import misc.Separators;
import string.StrUtil;
import util.nice.NiceEnumeration;
class ShopCreature extends Creature {
private Shop theShop = null;
ShopCreature(CreatureProto cr) {
super(cr);
}
void bindShop(Shop sh) {
theShop = sh;
}
Shop getShop() {
return theShop;
}
static String oneLine(int ind, int count, Item it) {
return Separators.NL + StrUtil.formatNumber(ind, 6) + " " + (count == -1 ? StrUtil.rightPad("Ilimitada", 10) : StrUtil.formatNumber(count, 10)) + " " + StrUtil.rightPad(it.getName(), 54) + " " + StrUtil.formatNumber(it.getValue(), 5);
}
String getShopList() {
String list = "";
NiceEnumeration itEnum = theItems.elements();
if (!itEnum.hasMoreElements())
return list;
Item prev = (Item) itEnum.nextElement();
Item it = null;
int count = /* getShop().producesItem(prev.getId()) ? -1 : */ 1;
int ind = 1;
while (itEnum.hasMoreElements()) {
it = (Item) itEnum.nextElement();
while (getShop().producesItem(prev.getId())) {
list += oneLine(ind, -1, prev);
prev = it;
it = (Item) itEnum.nextElement();
}
/*
if (getShop().producesItem(it.getId()))
count = -1;
*/
if (it.isCloneOf(prev))
++count;
else {
list += oneLine(ind, count, prev);
count = 1;
++ind;
}
prev = it;
}
list += oneLine(ind, count, prev);
return list;
}
public String getSheet() {
return super.getSheet() + "(Vendedor)";
}
}