added rocks
parent
51d52e0678
commit
ade3d884eb
|
|
@ -2,9 +2,7 @@ package xyz.valnet.hadean.gameobjects;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import xyz.valnet.engine.graphics.Sprite;
|
|
||||||
import xyz.valnet.engine.math.Vector2f;
|
import xyz.valnet.engine.math.Vector2f;
|
||||||
import xyz.valnet.engine.math.Vector2i;
|
import xyz.valnet.engine.math.Vector2i;
|
||||||
import xyz.valnet.engine.math.Vector4f;
|
import xyz.valnet.engine.math.Vector4f;
|
||||||
|
|
@ -12,6 +10,7 @@ import xyz.valnet.engine.scenegraph.GameObject;
|
||||||
import xyz.valnet.hadean.gameobjects.worldobjects.FarmPlot;
|
import xyz.valnet.hadean.gameobjects.worldobjects.FarmPlot;
|
||||||
import xyz.valnet.hadean.gameobjects.worldobjects.Tree;
|
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.Item;
|
import xyz.valnet.hadean.gameobjects.worldobjects.items.Item;
|
||||||
import xyz.valnet.hadean.interfaces.ITileThing;
|
import xyz.valnet.hadean.interfaces.ITileThing;
|
||||||
import xyz.valnet.hadean.interfaces.IWorkable;
|
import xyz.valnet.hadean.interfaces.IWorkable;
|
||||||
|
|
@ -27,6 +26,7 @@ public class Tile extends WorldObject implements IWorkable {
|
||||||
// private final int x, y;
|
// private final int x, y;
|
||||||
private Vector4f color;
|
private Vector4f color;
|
||||||
private final int tileSelector = (int)Math.floor(Math.random() * 4);
|
private final int tileSelector = (int)Math.floor(Math.random() * 4);
|
||||||
|
private boolean rocks = false;
|
||||||
|
|
||||||
private List<ITileThing> stuff = new ArrayList<ITileThing>();
|
private List<ITileThing> stuff = new ArrayList<ITileThing>();
|
||||||
// TODO remove remove queue, cause like, we dont iterate over
|
// TODO remove remove queue, cause like, we dont iterate over
|
||||||
|
|
@ -57,10 +57,18 @@ public class Tile extends WorldObject implements IWorkable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void create() {
|
protected void create() {
|
||||||
|
if(Math.random() > 0.95) {
|
||||||
|
rocks = true;
|
||||||
|
}
|
||||||
if(Math.random() > 0.97) {
|
if(Math.random() > 0.97) {
|
||||||
Tree tree = new Tree((int)x, (int)y);
|
Tree tree = new Tree((int)x, (int)y);
|
||||||
stuff.add(tree);
|
stuff.add(tree);
|
||||||
add(tree);
|
add(tree);
|
||||||
|
} else if(Math.random() > 0.98) {
|
||||||
|
rocks = false;
|
||||||
|
Boulder tree = new Boulder((int)x, (int)y);
|
||||||
|
stuff.add(tree);
|
||||||
|
add(tree);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -116,6 +124,7 @@ public class Tile extends WorldObject implements IWorkable {
|
||||||
Assets.flat.pushColor(color);
|
Assets.flat.pushColor(color);
|
||||||
camera.draw(Layers.TILES, Assets.defaultTerrain[tileSelector], x, y);
|
camera.draw(Layers.TILES, Assets.defaultTerrain[tileSelector], x, y);
|
||||||
Assets.flat.popColor();
|
Assets.flat.popColor();
|
||||||
|
if(rocks) camera.draw(Layers.TILES, Assets.rocks, x, y);
|
||||||
}
|
}
|
||||||
if(tillLevel > 0f) {
|
if(tillLevel > 0f) {
|
||||||
Assets.flat.pushColor(Vector4f.opacity(tillLevel));
|
Assets.flat.pushColor(Vector4f.opacity(tillLevel));
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
package xyz.valnet.hadean.gameobjects.worldobjects.items;
|
||||||
|
|
||||||
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
import xyz.valnet.hadean.util.detail.Detail;
|
||||||
|
|
||||||
|
public class Boulder extends Item {
|
||||||
|
|
||||||
|
public Boulder(int x, int y) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean haulOnCreate() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render() {
|
||||||
|
camera.draw(Layers.GROUND, Assets.bigRock, x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isWalkable() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean shouldRemove() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRemove() {}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Detail[] getDetails() {
|
||||||
|
return new Detail[] {};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return "Boulder";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue