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.Player; import org.dieubware.etts.view.GameScreen; import com.badlogic.gdx.math.Rectangle; public class BordersObserver implements Observer { private GameScreen gameScreen; private int lastId = 0; private int lastRemoved = 0; public BordersObserver(GameScreen gs) { this.gameScreen = gs; } @Override public void update(Observable o, Object arg1) { Borders borders =(Borders)o; if(lastId != borders.getLastBorderId()) { lastId = borders.getLastBorderId(); Rectangle r = borders.getLastBorder(); gameScreen.addBorder(lastId, r.x, r.y, r.width,r.height, borders.getLastBorderSide()); } if(lastRemoved != borders.getLastRemovedId()) { lastRemoved = borders.getLastRemovedId(); gameScreen.removeBorder(lastRemoved); } for(Integer i : borders.leftKeySet()) { gameScreen.setBorderY(i, borders.get(i).y); } for(Integer i : borders.rightKeySet()) { gameScreen.setBorderY(i, borders.get(i).y); } } }