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.List;
|
||||
|
||||
import xyz.valnet.engine.graphics.Color;
|
||||
import xyz.valnet.engine.graphics.Sprite;
|
||||
import xyz.valnet.engine.math.Vector2i;
|
||||
import xyz.valnet.hadean.gameobjects.jobs.Job;
|
||||
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.IItemReceiver;
|
||||
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 {
|
||||
|
||||
|
|
@ -120,4 +124,23 @@ public abstract class Construction extends Buildable implements IItemReceiver {
|
|||
public Vector2i[] getItemDropoffLocations() {
|
||||
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;
|
||||
|
||||
import xyz.valnet.engine.graphics.Color;
|
||||
import xyz.valnet.engine.graphics.Sprite;
|
||||
import xyz.valnet.engine.math.Vector2i;
|
||||
import xyz.valnet.hadean.gameobjects.jobs.Job;
|
||||
import xyz.valnet.hadean.gameobjects.jobs.JobBoard;
|
||||
|
|
@ -16,26 +17,6 @@ public class Quarry extends Construction {
|
|||
|
||||
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
|
||||
public Vector2i getDimensions() {
|
||||
return new Vector2i(3, 3);
|
||||
|
|
@ -118,4 +99,19 @@ public class Quarry extends Construction {
|
|||
protected int getBuildingMaterialCount() {
|
||||
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