move render to construction
parent
3c2a62c7dd
commit
fe29860988
|
|
@ -3,6 +3,8 @@ package xyz.valnet.hadean.gameobjects.worldobjects.constructions;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import xyz.valnet.engine.graphics.Color;
|
||||||
|
import xyz.valnet.engine.graphics.Sprite;
|
||||||
import xyz.valnet.engine.math.Vector2i;
|
import xyz.valnet.engine.math.Vector2i;
|
||||||
import xyz.valnet.hadean.gameobjects.jobs.Job;
|
import xyz.valnet.hadean.gameobjects.jobs.Job;
|
||||||
import xyz.valnet.hadean.gameobjects.jobs.JobBoard;
|
import xyz.valnet.hadean.gameobjects.jobs.JobBoard;
|
||||||
|
|
@ -12,6 +14,8 @@ import xyz.valnet.hadean.gameobjects.worldobjects.items.Item;
|
||||||
import xyz.valnet.hadean.interfaces.IItemPredicate;
|
import xyz.valnet.hadean.interfaces.IItemPredicate;
|
||||||
import xyz.valnet.hadean.interfaces.IItemReceiver;
|
import xyz.valnet.hadean.interfaces.IItemReceiver;
|
||||||
import xyz.valnet.hadean.interfaces.IWorkable;
|
import xyz.valnet.hadean.interfaces.IWorkable;
|
||||||
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
|
||||||
public abstract class Construction extends Buildable implements IItemReceiver {
|
public abstract class Construction extends Buildable implements IItemReceiver {
|
||||||
|
|
||||||
|
|
@ -120,4 +124,23 @@ public abstract class Construction extends Buildable implements IItemReceiver {
|
||||||
public Vector2i[] getItemDropoffLocations() {
|
public Vector2i[] getItemDropoffLocations() {
|
||||||
return getWorldBox().toXYWH().asInt().getBorders();
|
return getWorldBox().toXYWH().asInt().getBorders();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render() {
|
||||||
|
Sprite sprite = getDefaultSprite();
|
||||||
|
if(isBuilt()) {
|
||||||
|
camera.draw(Layers.TILES, sprite, getWorldPosition());
|
||||||
|
} else {
|
||||||
|
float b = 4;
|
||||||
|
|
||||||
|
Assets.flat.pushColor(Color.grey(b).withAlpha(0.5f));
|
||||||
|
camera.draw(Layers.GROUND, Assets.quarry, getWorldPosition());
|
||||||
|
Assets.flat.popColor();
|
||||||
|
|
||||||
|
camera.drawProgressBar(getBuildProgress(), getWorldBox());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract Sprite getDefaultSprite();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package xyz.valnet.hadean.gameobjects.worldobjects.constructions;
|
package xyz.valnet.hadean.gameobjects.worldobjects.constructions;
|
||||||
|
|
||||||
import xyz.valnet.engine.graphics.Color;
|
import xyz.valnet.engine.graphics.Color;
|
||||||
|
import xyz.valnet.engine.graphics.Sprite;
|
||||||
import xyz.valnet.engine.math.Vector2i;
|
import xyz.valnet.engine.math.Vector2i;
|
||||||
import xyz.valnet.hadean.gameobjects.jobs.Job;
|
import xyz.valnet.hadean.gameobjects.jobs.Job;
|
||||||
import xyz.valnet.hadean.gameobjects.jobs.JobBoard;
|
import xyz.valnet.hadean.gameobjects.jobs.JobBoard;
|
||||||
|
|
@ -16,26 +17,6 @@ public class Quarry extends Construction {
|
||||||
|
|
||||||
private Job digJob = null;
|
private Job digJob = null;
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render() {
|
|
||||||
if(isBuilt()) {
|
|
||||||
camera.draw(Layers.TILES, Assets.quarry, getWorldPosition());
|
|
||||||
|
|
||||||
if(digJob != null && !digJob.isCompleted()) {
|
|
||||||
camera.drawProgressBar(digProgress, getWorldBox());
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
float b = 4;
|
|
||||||
|
|
||||||
Assets.flat.pushColor(Color.grey(b).withAlpha(0.5f));
|
|
||||||
camera.draw(Layers.GROUND, Assets.quarry, getWorldPosition());
|
|
||||||
Assets.flat.popColor();
|
|
||||||
|
|
||||||
camera.drawProgressBar(getBuildProgress(), getWorldBox());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Vector2i getDimensions() {
|
public Vector2i getDimensions() {
|
||||||
return new Vector2i(3, 3);
|
return new Vector2i(3, 3);
|
||||||
|
|
@ -118,4 +99,19 @@ public class Quarry extends Construction {
|
||||||
protected int getBuildingMaterialCount() {
|
protected int getBuildingMaterialCount() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected final Sprite getDefaultSprite() {
|
||||||
|
return Assets.quarry;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render() {
|
||||||
|
super.render();
|
||||||
|
if(!isBuilt()) return;
|
||||||
|
|
||||||
|
if(digJob != null && !digJob.isCompleted() && digProgress > 0) {
|
||||||
|
camera.drawProgressBar(digProgress, getWorldBox());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue