@Override
	public void update() {
		//assume game is over only if there are walls present and the game is being played
		boolean gameOver = walls.size() > 0 && Game.state == State.PLAY_LEVEL;
		for(Ball ball : balls){
			ball.update();
			if(!ball.isAlone())
				gameOver = false;
		}
		if(gameOver && !isAnyWallGrowing()){
			if(Game.level.isLast()){
				Game.level = null;
				Game.state = State.GAME_OVER;
				Game.state.start();
				return;
			}
			Game.level = Game.level.next();
			Game.state = State.END_LEVEL;
			Game.state.start();
		}
		for(Wall wall : walls){
			wall.update();
		}
	}