Add support for z-index parameters in Entity which determines the Entity rendering order

This commit is contained in:
2021-03-26 22:53:55 +01:00
parent 345d82d3a1
commit 140cfcacae
4 changed files with 23 additions and 1 deletions

View File

@@ -27,6 +27,10 @@ public class DefaultEntity extends MovableSprite implements Entity {
private final Vector2f entityScale = new Vector2f(1, 1);
private Vector2fc entitySetSize;
@Getter
@Setter
private int zIndex = 0;
private int animationSpeed = 100;
@Getter

View File

@@ -20,6 +20,9 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
import static java.lang.Float.compare;
import static java.lang.Integer.compare;
public class DefaultObjectLayer extends BaseLayer implements ObjectLayer {
@Getter
@@ -190,6 +193,7 @@ public class DefaultObjectLayer extends BaseLayer implements ObjectLayer {
}
private int compareObjects(Entity a, Entity b) {
return Float.compare(a.getPosition().y(), b.getPosition().y());
var z = compare(a.getZIndex(), b.getZIndex());
return z == 0 ? compare(a.getPosition().y(), b.getPosition().y()) : z;
}
}