package org.dieubware.etts.model;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.dieubware.etts.Observable;
import java.util.Set;
import org.dieubware.etts.Constants;
import org.dieubware.etts.model.Items.ItemType;
import com.badlogic.gdx.math.Rectangle;
public class Items extends Observable implements Iterable<Item> {
private List<Item> items;
private Item lastItem;
private int lastRemovedId;
private static int ID = 1;
public enum ItemType {
KILL, FLY;
public static ItemType random() {
int val = (int)(Math.random() *2);
if(val == 0)
return KILL;
else
return FLY;
}
}
public Items() {
items = new ArrayList<Item>();
}
public void addItem(float x, float y,float width, float height, ItemType type) {
int id = ID++;
Item item = new Item(x,y,width,height,id,type);
lastItem = item;
items.add(item);
setChanged();
notifyObservers();
}
public void scroll(float y) {
for(Item i : items) {
i.y += y;
}
setChanged();
notifyObservers();
}
public Item get(int i) {
return items.get(i);
}
public void remove(Item i) {
lastRemovedId = i.getId();
items.remove(i);
}
public int getLastRemoved() {
return lastRemovedId;
}
public Item getLastItem() {
return lastItem;
}
public void clear() {
items.clear();
}
@Override
public Iterator<Item> iterator() {
return items.iterator();
}
public int getLastRemovedId() {
// TODO Auto-generated method stub
return 0;
}
public void clearOld() {
Item toRm = null;
for(Item i : items) {
if(i.y < 0)
toRm = i;
}
if(toRm != null ) {
items.remove(toRm);
lastRemovedId = toRm.getId();
setChanged();
notifyObservers();
}
}
}