package org.dieubware.etts.controller;
import org.dieubware.etts.Observable;
import org.dieubware.etts.Observer;
import org.dieubware.etts.model.Borders;
import org.dieubware.etts.model.Item;
import org.dieubware.etts.model.Items;
import org.dieubware.etts.model.Player;
import org.dieubware.etts.view.GameScreen;
import com.badlogic.gdx.math.Rectangle;
public class ItemsObserver implements Observer {
private GameScreen gameScreen;
private int lastItemId = -1;
private int lastRemovedId = -1;
public ItemsObserver(GameScreen gs) {
this.gameScreen = gs;
}
@Override
public void update(Observable o, Object arg1) {
Items items =(Items)o;
if(items.getLastItem() != null && lastItemId != items.getLastItem().getId()) {
Item item = items.getLastItem();
lastItemId = item.getId();
gameScreen.addItem(item.getId(),
item.x,
item.y,
item.width,
item.height,
item.getType()
);
}
if(lastRemovedId != items.getLastRemovedId()) {
lastRemovedId = items.getLastRemovedId();
gameScreen.removeItem(lastRemovedId);
}
for(Item i : items) {
gameScreen.setItemY(i.getId(), i.y);
}
}
}