@Override
	public void update(GameContainer gc, int delta) throws SlickException {
		for (int i = 0; i < entityList.size(); i++) {
			entityList.get(i).update(gc, null, delta);
		}

		boardSpawn.update(delta);
		for (int i = 0; i < boardSpawn.getEnemies().size(); i++) {
			boardSpawn.getEnemies().get(i).update(gc, null, (float) delta);
		}
		birdSpawn.update(delta);
		for (int i = 0; i < birdSpawn.getEnemies().size(); i++) {
			birdSpawn.getEnemies().get(i).update(gc, null, (float) delta);
		}
		ArrayList<Weapon> tempList=new ArrayList<Weapon>();
		for (int i = 0; i < weaponList.size(); i++) {
			
			if (!(weaponList.get(i) instanceof Beam)) {
				weaponList.get(i).update(gc, null, (float) delta);
			} else {
				((Beam) weaponList.get(i)).updateBeam(gc, null, (float) delta, player);
				if (!skillR.isBeamOn()) {
					tempList.add(weaponList.get(i));
				}
			}
			if (weaponList.get(i).getPosition().x > SCREEN_WIDTH) {
				tempList.add(weaponList.get(i));
			}
		}
		weaponList.removeAll(tempList);
		score += (float) delta / 100;
		checkSkillInput(gc);
		checkCollisions();

		checkIfLost();
	}