ner ner ner ner ner ner nernnnnn
parent
04eaf1434f
commit
ce5906b768
|
|
@ -16,6 +16,7 @@ import java.util.stream.Collectors;
|
|||
|
||||
import xyz.valnet.engine.App;
|
||||
import xyz.valnet.engine.math.Box;
|
||||
import xyz.valnet.hadean.HadeanGame;
|
||||
import xyz.valnet.hadean.gameobjects.ui.tabs.DebugTab;
|
||||
|
||||
public abstract class SceneGraph implements IScene {
|
||||
|
|
@ -49,6 +50,7 @@ public abstract class SceneGraph implements IScene {
|
|||
|
||||
@Override
|
||||
public void update(float dTime) {
|
||||
dTime = 1;
|
||||
// ADD OBJECTS
|
||||
if(!newObjects.isEmpty()) {
|
||||
List<GameObject> added = new ArrayList<GameObject>();
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import xyz.valnet.hadean.gameobjects.worldobjects.Tree;
|
|||
import xyz.valnet.hadean.gameobjects.worldobjects.WorldObject;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.items.Boulder;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.items.Item;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.items.Log;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.zones.FarmPlot;
|
||||
import xyz.valnet.hadean.interfaces.IItemPredicate;
|
||||
import xyz.valnet.hadean.interfaces.IPingable;
|
||||
|
|
@ -69,7 +70,7 @@ public class Tile extends WorldObject implements IWorkable {
|
|||
add(new Tree(pos.x, pos.y));
|
||||
} else if(Math.random() > 0.98) {
|
||||
rocks = false;
|
||||
add(new Boulder(pos.x, pos.y));
|
||||
add(new Log(pos.x, pos.y));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ public class SelectionUI extends ImmediateUI implements ISelectionChangeListener
|
|||
if(details.length == 0) {
|
||||
text("No details available.");
|
||||
} else for(Detail detail : details) {
|
||||
text(detail.toString(15));
|
||||
text(detail.toString(30));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import xyz.valnet.hadean.gameobjects.inputlayer.SelectionLayer;
|
|||
import xyz.valnet.hadean.gameobjects.worldobjects.zones.FarmPlot;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.zones.Stockpile;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.constructions.Bed;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.constructions.MasonWorkshop;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.constructions.Quarry;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.constructions.Wall;
|
||||
import xyz.valnet.hadean.interfaces.BuildType;
|
||||
|
|
@ -55,6 +56,7 @@ public class BuildTab extends Tab implements ISelectionChangeListener, IBuildLay
|
|||
|
||||
BuildTab.registerBuildable(FarmPlot.class);
|
||||
BuildTab.registerBuildable(Stockpile.class);
|
||||
BuildTab.registerBuildable(MasonWorkshop.class);
|
||||
}
|
||||
|
||||
public record BuildableRecord(
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ public abstract class Buildable extends WorldObject implements IBuildable, ITile
|
|||
|
||||
@Override
|
||||
public Action[] getActions() {
|
||||
// TODO Auto-generated method stub
|
||||
return new Action[] {};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import xyz.valnet.engine.math.Vector2i;
|
|||
import xyz.valnet.hadean.gameobjects.jobs.Job;
|
||||
import xyz.valnet.hadean.gameobjects.jobs.JobBoard;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.Buildable;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.items.Boulder;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.items.Item;
|
||||
import xyz.valnet.hadean.interfaces.BuildType;
|
||||
import xyz.valnet.hadean.interfaces.IItemPredicate;
|
||||
|
|
@ -55,7 +54,7 @@ public abstract class Construction extends Buildable implements IItemReceiver {
|
|||
work += dTime;
|
||||
return isBuilt();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Vector2i[] getWorkablePositions() {
|
||||
return getWorldBox().toXYWH().asInt().getBorders();
|
||||
|
|
@ -115,9 +114,9 @@ public abstract class Construction extends Buildable implements IItemReceiver {
|
|||
@Override
|
||||
public final boolean receive(Item item) {
|
||||
if(item == null) return false;
|
||||
if(!item.matches(Boulder.BOULDER_PREDICATE)) return false;
|
||||
if(!item.matches(getBuildingMaterial())) return false;
|
||||
remove(item);
|
||||
// boulders ++;
|
||||
containedItems.add(item);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -148,7 +147,7 @@ public abstract class Construction extends Buildable implements IItemReceiver {
|
|||
|
||||
@Override
|
||||
public BuildType getBuildType() {
|
||||
return BuildType.SINGLE;
|
||||
return BuildType.AREA;
|
||||
}
|
||||
@Override
|
||||
public String getBuildTabCategory() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
package xyz.valnet.hadean.gameobjects.worldobjects.constructions;
|
||||
|
||||
import xyz.valnet.engine.graphics.Sprite;
|
||||
import xyz.valnet.engine.math.Vector2i;
|
||||
import xyz.valnet.hadean.gameobjects.worldobjects.items.Log;
|
||||
import xyz.valnet.hadean.interfaces.IItemPredicate;
|
||||
import xyz.valnet.hadean.util.Assets;
|
||||
|
||||
public class MasonWorkshop extends Construction {
|
||||
|
||||
@Override
|
||||
protected IItemPredicate getBuildingMaterial() {
|
||||
return Log.LOG_PREDICATE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getBuildingMaterialCount() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWalkable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Mason's Workshop";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Sprite getDefaultSprite() {
|
||||
return Assets.testTile;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Vector2i getDimensions() {
|
||||
return new Vector2i(3, 3);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -100,7 +100,7 @@ public class Assets {
|
|||
egg = new Sprite(atlas, 8, 104, 8, 8);
|
||||
bigRock = new Sprite(atlas, 16, 104, 8, 8);
|
||||
lilPickaxe = new Sprite(atlas, 8, 120, 16, 16);
|
||||
testTile = new Sprite(atlas, 16, 16, 64, 112);
|
||||
testTile = new Sprite(atlas, 64, 112, 16, 16);
|
||||
quarry = new Sprite(atlas, 88, 64, 24, 24);
|
||||
|
||||
Map<Character, Sprite> charset = new HashMap<Character, Sprite>();
|
||||
|
|
|
|||
Loading…
Reference in New Issue