public void update() { Iterator<MovableObject> movableObjectsIter = this.movableObjects.iterator(); while (movableObjectsIter.hasNext()) { MovableObject obj = movableObjectsIter.next(); obj.update(); if (!obj.isAlive()) { movableObjectsIter.remove(); } } Iterator<MapObject> staticObjectsIter = this.staticObjects.iterator(); while (staticObjectsIter.hasNext()) { MapObject obj = staticObjectsIter.next(); obj.update(); if (!obj.isAlive()) { staticObjectsIter.remove(); } } flushNewItems(); }
public void removeObject(MapObject object) { for (int i = 0; i < map[object.getY()][object.getX()].size(); i++) { if (map[object.getY()][object.getX()].get(i).getClass().equals(object.getClass())) { map[object.getY()][object.getX()].remove(i); } } if (map[object.getY()][object.getX()].size() == 0) map[object.getY()][object.getX()] = null; }
public void draw(Graphics2D g) { setMapPosition(); super.draw(g); }
public boolean addObject(MapObject object) { if (map[object.getY()][object.getX()] == null) { map[object.getY()][object.getX()] = new ArrayList<MapObject>(); } map[object.getY()][object.getX()].add(object); for (int i = 0; i < map[object.getY()][object.getX()].size(); i++) if (map[object.getY()][object.getX()].get(i) == object) return true; map[object.getY()][object.getX()] = null; return false; }