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