Use iterator for siege player removal.

This commit is contained in:
MobiusDev
2018-01-15 09:12:30 +00:00
parent be6b0566ee
commit 34ccdb68e2

View File

@@ -22,6 +22,7 @@ import java.sql.ResultSet;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Collections; import java.util.Collections;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
@@ -1047,11 +1048,13 @@ public class Siege implements Siegable
case NotOwner: case NotOwner:
{ {
players = getPlayersInZone(); players = getPlayersInZone();
for (L2PcInstance player : players) final Iterator<L2PcInstance> it = players.iterator();
while (it.hasNext())
{ {
final L2PcInstance player = it.next();
if ((player == null) || player.inObserverMode() || ((player.getClanId() > 0) && (player.getClanId() == getCastle().getOwnerId()))) if ((player == null) || player.inObserverMode() || ((player.getClanId() > 0) && (player.getClanId() == getCastle().getOwnerId())))
{ {
players.remove(player); it.remove();
} }
} }
break; break;
@@ -1068,7 +1071,7 @@ public class Siege implements Siegable
} }
default: default:
{ {
players = Collections.<L2PcInstance> emptyList(); players = Collections.emptyList();
} }
} }