Use Set as BaseRule's entities collection and Queue as ObjectLayer's movements collection

This commit is contained in:
2021-03-16 23:41:35 +01:00
parent 0c1f0748a1
commit 0196ba0d7e
2 changed files with 7 additions and 9 deletions

View File

@@ -18,6 +18,7 @@ import org.joml.Vector2ic;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class DefaultObjectLayer implements ObjectLayer {
@@ -30,7 +31,7 @@ public class DefaultObjectLayer implements ObjectLayer {
@Getter
private final PassageAbility[][] passageMap;
private final List<Movement> movements = new LinkedList<>();
private final Queue<Movement> movements = new LinkedList<>();
private final List<Rule> rules = new ArrayList<>();
@@ -124,14 +125,11 @@ public class DefaultObjectLayer implements ObjectLayer {
@Override
public void update(float dt) {
for (var iterator = movements.iterator(); iterator.hasNext(); ) {
var movement = iterator.next();
while (!movements.isEmpty()) {
var movement = movements.poll();
if (isTileReachable(movement.getTo())) {
movement.perform();
}
iterator.remove();
}
for (var entity : entities) {