-
jez04 authored09245b67
WorldEntity.java 904 B
package lab.game;
import java.io.Serial;
import java.io.Serializable;
import javafx.scene.canvas.GraphicsContext;
public abstract class WorldEntity implements DrawableSimulable, Serializable {
@Serial
private static final long serialVersionUID = 2626363250832813659L;
protected transient final Level level;
protected MyPoint position;
private int zIndex;
public WorldEntity(Level level, MyPoint position) {
this.level = level;
this.position = position;
zIndex = 0;
}
public WorldEntity(Level level, MyPoint position, int zIndex) {
this.level = level;
this.position = position;
this.zIndex = zIndex;
}
@Override
public final void draw(GraphicsContext gc) {
gc.save();
drawInternal(gc);
gc.restore();
}
public abstract void drawInternal(GraphicsContext gc);
public MyPoint getPosition() {
return position;
}
public int getZIndex() {
return zIndex;
}
}