package javastory.server;
import java.util.List;
import java.util.Map;
import javastory.game.Item;
import javastory.wz.WzData;
import javastory.wz.WzDataProvider;
import javastory.wz.WzDataProviderFactory;
import javastory.wz.WzDataTool;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
public class CashItemFactory {
private static CashItemFactory instance = new CashItemFactory();
private final Map<Integer, CashItemInfo> itemStats = Maps.newHashMap();
private final WzDataProvider data = WzDataProviderFactory.getDataProvider("Etc.wz");
public static CashItemFactory getInstance() {
return instance;
}
protected CashItemFactory() {
System.out.println(":: Loading CashItemFactory ::");
for (final WzData field : this.data.getData("Commodity.img").getChildren()) {
final boolean onSale = WzDataTool.getIntConvert("OnSale", field, 0) > 0;
if (onSale) {
final CashItemInfo stats = new CashItemInfo(WzDataTool.getIntConvert("ItemId", field), WzDataTool.getIntConvert("Count", field, 1), WzDataTool
.getIntConvert("Price", field, 0), WzDataTool.getIntConvert("Period", field, 0));
this.itemStats.put(WzDataTool.getIntConvert("SN", field, 0), stats);
}
}
}
public CashItemInfo getItem(final int sn) {
final CashItemInfo stats = this.itemStats.get(sn);
if (stats == null) {
return null;
}
return stats;
}
public List<Integer> getPackageItems(final int itemId) {
final List<Integer> packageItems = Lists.newArrayList();
for (final WzData b : this.data.getData("CashPackage.img").getChildren()) {
if (itemId == Integer.parseInt(b.getName())) {
for (final WzData c : b.getChildren()) {
for (final WzData d : c.getChildren()) {
packageItems.add(this.getItem(WzDataTool.getIntConvert("" + Integer.parseInt(d.getName()), c)).getId());
}
}
break;
}
}
return packageItems;
}
public void addToInventory(final Item item) {
//inventory.add(item);
}
public void removeFromInventory(final Item item) {
//inventory.remove(item);
}
}