Add support for z-index parameters in Entity which determines the Entity rendering order
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user