Remove movement rules system

This commit is contained in:
2021-03-31 23:08:26 +02:00
parent 453abfa037
commit efec9b18c4
3 changed files with 0 additions and 50 deletions

View File

@@ -8,7 +8,6 @@ import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
import com.bartlomiejpluta.base.api.map.layer.object.PassageAbility;
import com.bartlomiejpluta.base.api.map.model.GameMap;
import com.bartlomiejpluta.base.api.move.Movement;
import com.bartlomiejpluta.base.api.rule.MovementRule;
import com.bartlomiejpluta.base.api.screen.Screen;
import com.bartlomiejpluta.base.engine.world.map.layer.base.BaseLayer;
import com.bartlomiejpluta.base.internal.render.ShaderManager;
@@ -36,8 +35,6 @@ public class DefaultObjectLayer extends BaseLayer implements ObjectLayer {
private final Queue<Movement> movements = new LinkedList<>();
private final List<MovementRule> movementRules = new ArrayList<>();
private final int rows;
private final int columns;
@@ -48,21 +45,6 @@ public class DefaultObjectLayer extends BaseLayer implements ObjectLayer {
this.passageMap = passageMap;
}
@Override
public void registerMovementRule(MovementRule rule) {
movementRules.add(rule);
}
@Override
public void unregisterMovementRule(MovementRule rule) {
movementRules.remove(rule);
}
@Override
public void unregisterRules() {
movementRules.clear();
}
@Override
public void addEntity(Entity entity) {
var layer = (DefaultObjectLayer) entity.getLayer();
@@ -150,18 +132,6 @@ public class DefaultObjectLayer extends BaseLayer implements ObjectLayer {
var to = movement.getTo();
if (isTileReachable(to)) {
movement.perform();
// Disclaimer
// For the sake of an easy adding and removing
// rules from the rule.update() method inside
// the loop, the loop itself has been implemented
// as plain old C-style for loop.
for (int i = 0; i < movementRules.size(); ++i) {
var rule = movementRules.get(i);
if (((from.equals(rule.from())) || (to.equals(rule.to())))) {
rule.invoke(movement);
}
}
}
}