mass re-organization
parent
65e51597fa
commit
f6ed9576f6
|
|
@ -6,10 +6,11 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import xyz.valnet.engine.scenegraph.GameObject;
|
import xyz.valnet.engine.scenegraph.GameObject;
|
||||||
import xyz.valnet.hadean.Layers;
|
|
||||||
import xyz.valnet.hadean.input.Button;
|
import xyz.valnet.hadean.input.Button;
|
||||||
import xyz.valnet.hadean.input.IButtonListener;
|
import xyz.valnet.hadean.input.IButtonListener;
|
||||||
import xyz.valnet.hadean.input.SimpleButton;
|
import xyz.valnet.hadean.input.SimpleButton;
|
||||||
|
import xyz.valnet.hadean.interfaces.IBottomBarItem;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
|
||||||
public class BottomBar extends GameObject implements IButtonListener {
|
public class BottomBar extends GameObject implements IButtonListener {
|
||||||
public static final int bottomBarHeight = 32;
|
public static final int bottomBarHeight = 32;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
|
||||||
|
|
||||||
import xyz.valnet.hadean.Tile;
|
|
||||||
|
|
||||||
public interface IHaulable extends IJob {
|
|
||||||
public Log take();
|
|
||||||
public Tile getDestination();
|
|
||||||
}
|
|
||||||
|
|
@ -9,8 +9,10 @@ import xyz.valnet.engine.math.Vector2f;
|
||||||
import xyz.valnet.engine.math.Vector4f;
|
import xyz.valnet.engine.math.Vector4f;
|
||||||
import xyz.valnet.engine.scenegraph.GameObject;
|
import xyz.valnet.engine.scenegraph.GameObject;
|
||||||
import xyz.valnet.engine.scenegraph.IMouseCaptureArea;
|
import xyz.valnet.engine.scenegraph.IMouseCaptureArea;
|
||||||
import xyz.valnet.hadean.Layers;
|
import xyz.valnet.hadean.interfaces.ISelectable;
|
||||||
|
import xyz.valnet.hadean.interfaces.ISelectionChangeListener;
|
||||||
import xyz.valnet.hadean.util.Assets;
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
|
||||||
import static xyz.valnet.engine.util.Math.lerp;
|
import static xyz.valnet.engine.util.Math.lerp;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,14 @@ import java.util.List;
|
||||||
import xyz.valnet.engine.math.Vector4f;
|
import xyz.valnet.engine.math.Vector4f;
|
||||||
import xyz.valnet.engine.scenegraph.GameObject;
|
import xyz.valnet.engine.scenegraph.GameObject;
|
||||||
import xyz.valnet.engine.scenegraph.IMouseCaptureArea;
|
import xyz.valnet.engine.scenegraph.IMouseCaptureArea;
|
||||||
import xyz.valnet.hadean.Layers;
|
|
||||||
import xyz.valnet.hadean.input.Button;
|
import xyz.valnet.hadean.input.Button;
|
||||||
import xyz.valnet.hadean.input.IButtonListener;
|
import xyz.valnet.hadean.input.IButtonListener;
|
||||||
import xyz.valnet.hadean.input.SimpleButton;
|
import xyz.valnet.hadean.input.SimpleButton;
|
||||||
|
import xyz.valnet.hadean.interfaces.ISelectable;
|
||||||
|
import xyz.valnet.hadean.interfaces.ISelectionChangeListener;
|
||||||
import xyz.valnet.hadean.util.Action;
|
import xyz.valnet.hadean.util.Action;
|
||||||
import xyz.valnet.hadean.util.Assets;
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
|
||||||
public class SelectionUI extends GameObject implements ISelectionChangeListener, IButtonListener, IMouseCaptureArea {
|
public class SelectionUI extends GameObject implements ISelectionChangeListener, IButtonListener, IMouseCaptureArea {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,12 @@ package xyz.valnet.hadean.gameobjects;
|
||||||
|
|
||||||
import xyz.valnet.engine.graphics.Drawing;
|
import xyz.valnet.engine.graphics.Drawing;
|
||||||
import xyz.valnet.engine.math.Vector4f;
|
import xyz.valnet.engine.math.Vector4f;
|
||||||
import xyz.valnet.hadean.Layers;
|
import xyz.valnet.hadean.gameobjects.worldobjects.WorldObject;
|
||||||
import xyz.valnet.hadean.Tile;
|
import xyz.valnet.hadean.interfaces.ISelectable;
|
||||||
|
import xyz.valnet.hadean.interfaces.ITileThing;
|
||||||
import xyz.valnet.hadean.util.Action;
|
import xyz.valnet.hadean.util.Action;
|
||||||
import xyz.valnet.hadean.util.Assets;
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
|
||||||
public class Stockpile extends WorldObject implements ITileThing, ISelectable {
|
public class Stockpile extends WorldObject implements ITileThing, ISelectable {
|
||||||
|
|
||||||
|
|
@ -54,10 +56,6 @@ public class Stockpile extends WorldObject implements ITileThing, ISelectable {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
public Tile getTile() {
|
|
||||||
return terrain.getTile((int)x, (int)y);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updatePosition(int x, int y) {
|
public void updatePosition(int x, int y) {
|
||||||
this.x = x;
|
this.x = x;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ package xyz.valnet.hadean.gameobjects;
|
||||||
|
|
||||||
import xyz.valnet.engine.math.Vector2i;
|
import xyz.valnet.engine.math.Vector2i;
|
||||||
import xyz.valnet.engine.scenegraph.GameObject;
|
import xyz.valnet.engine.scenegraph.GameObject;
|
||||||
import xyz.valnet.hadean.Tile;
|
|
||||||
import xyz.valnet.hadean.pathfinding.IPathable;
|
import xyz.valnet.hadean.pathfinding.IPathable;
|
||||||
|
|
||||||
public class Terrain extends GameObject implements IPathable {
|
public class Terrain extends GameObject implements IPathable {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.valnet.hadean;
|
package xyz.valnet.hadean.gameobjects;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -8,13 +8,12 @@ import xyz.valnet.engine.graphics.Sprite;
|
||||||
import xyz.valnet.engine.math.Vector2i;
|
import xyz.valnet.engine.math.Vector2i;
|
||||||
import xyz.valnet.engine.math.Vector4f;
|
import xyz.valnet.engine.math.Vector4f;
|
||||||
import xyz.valnet.engine.scenegraph.GameObject;
|
import xyz.valnet.engine.scenegraph.GameObject;
|
||||||
import xyz.valnet.hadean.gameobjects.Camera;
|
import xyz.valnet.hadean.gameobjects.worldobjects.Log;
|
||||||
import xyz.valnet.hadean.gameobjects.ITileThing;
|
import xyz.valnet.hadean.gameobjects.worldobjects.Tree;
|
||||||
import xyz.valnet.hadean.gameobjects.Log;
|
import xyz.valnet.hadean.interfaces.ITileThing;
|
||||||
import xyz.valnet.hadean.gameobjects.Tree;
|
|
||||||
import xyz.valnet.hadean.util.Assets;
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
|
||||||
// TODO make these tiles REAL gameobjects...
|
|
||||||
public class Tile extends GameObject {
|
public class Tile extends GameObject {
|
||||||
|
|
||||||
private Camera camera;
|
private Camera camera;
|
||||||
|
|
@ -4,9 +4,9 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import xyz.valnet.hadean.gameobjects.BottomBar;
|
import xyz.valnet.hadean.gameobjects.BottomBar;
|
||||||
import xyz.valnet.hadean.gameobjects.ISelectable;
|
|
||||||
import xyz.valnet.hadean.gameobjects.ISelectionChangeListener;
|
|
||||||
import xyz.valnet.hadean.gameobjects.Selection;
|
import xyz.valnet.hadean.gameobjects.Selection;
|
||||||
|
import xyz.valnet.hadean.interfaces.ISelectable;
|
||||||
|
import xyz.valnet.hadean.interfaces.ISelectionChangeListener;
|
||||||
import xyz.valnet.hadean.util.Assets;
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
|
||||||
import static xyz.valnet.engine.util.Math.lerp;
|
import static xyz.valnet.engine.util.Math.lerp;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package xyz.valnet.hadean.gameobjects.tabs;
|
||||||
|
|
||||||
import xyz.valnet.engine.scenegraph.GameObject;
|
import xyz.valnet.engine.scenegraph.GameObject;
|
||||||
import xyz.valnet.hadean.gameobjects.BottomBar;
|
import xyz.valnet.hadean.gameobjects.BottomBar;
|
||||||
import xyz.valnet.hadean.gameobjects.IBottomBarItem;
|
import xyz.valnet.hadean.interfaces.IBottomBarItem;
|
||||||
|
|
||||||
public abstract class Tab extends GameObject implements IBottomBarItem {
|
public abstract class Tab extends GameObject implements IBottomBarItem {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,16 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.gameobjects.worldobjects;
|
||||||
|
|
||||||
import xyz.valnet.engine.graphics.Drawing;
|
import xyz.valnet.engine.graphics.Drawing;
|
||||||
import xyz.valnet.engine.math.Vector2i;
|
import xyz.valnet.engine.math.Vector2i;
|
||||||
import xyz.valnet.engine.math.Vector4f;
|
import xyz.valnet.engine.math.Vector4f;
|
||||||
import xyz.valnet.hadean.Layers;
|
import xyz.valnet.hadean.gameobjects.Stockpile;
|
||||||
import xyz.valnet.hadean.Tile;
|
import xyz.valnet.hadean.gameobjects.Tile;
|
||||||
|
import xyz.valnet.hadean.interfaces.IHaulable;
|
||||||
|
import xyz.valnet.hadean.interfaces.ISelectable;
|
||||||
|
import xyz.valnet.hadean.interfaces.ITileThing;
|
||||||
import xyz.valnet.hadean.util.Action;
|
import xyz.valnet.hadean.util.Action;
|
||||||
import xyz.valnet.hadean.util.Assets;
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
|
||||||
public class Log extends WorldObject implements ITileThing, ISelectable, IHaulable {
|
public class Log extends WorldObject implements ITileThing, ISelectable, IHaulable {
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.gameobjects.worldobjects;
|
||||||
|
|
||||||
import static org.lwjgl.opengl.GL11.GL_LINES;
|
import static org.lwjgl.opengl.GL11.GL_LINES;
|
||||||
import static org.lwjgl.opengl.GL11.glBegin;
|
import static org.lwjgl.opengl.GL11.glBegin;
|
||||||
|
|
@ -15,7 +15,14 @@ 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;
|
||||||
import xyz.valnet.engine.shaders.SimpleShader;
|
import xyz.valnet.engine.shaders.SimpleShader;
|
||||||
import xyz.valnet.hadean.Tile;
|
import xyz.valnet.hadean.gameobjects.Camera;
|
||||||
|
import xyz.valnet.hadean.gameobjects.Terrain;
|
||||||
|
import xyz.valnet.hadean.gameobjects.Tile;
|
||||||
|
import xyz.valnet.hadean.interfaces.IHaulable;
|
||||||
|
import xyz.valnet.hadean.interfaces.IJob;
|
||||||
|
import xyz.valnet.hadean.interfaces.ISelectable;
|
||||||
|
import xyz.valnet.hadean.interfaces.ITileThing;
|
||||||
|
import xyz.valnet.hadean.interfaces.IWorkable;
|
||||||
import xyz.valnet.hadean.pathfinding.AStarPathfinder;
|
import xyz.valnet.hadean.pathfinding.AStarPathfinder;
|
||||||
import xyz.valnet.hadean.pathfinding.IPathfinder;
|
import xyz.valnet.hadean.pathfinding.IPathfinder;
|
||||||
import xyz.valnet.hadean.pathfinding.Node;
|
import xyz.valnet.hadean.pathfinding.Node;
|
||||||
|
|
@ -164,10 +171,6 @@ public class Pawn extends WorldObject implements ISelectable {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Tile getTile() {
|
|
||||||
return terrain.getTile((int) x, (int) y);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Vector2i getCurrentPos() {
|
private Vector2i getCurrentPos() {
|
||||||
return new Vector2i((int)Math.floor(x), (int)Math.floor(y));
|
return new Vector2i((int)Math.floor(x), (int)Math.floor(y));
|
||||||
}
|
}
|
||||||
|
|
@ -1,11 +1,14 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.gameobjects.worldobjects;
|
||||||
|
|
||||||
import xyz.valnet.engine.graphics.Drawing;
|
import xyz.valnet.engine.graphics.Drawing;
|
||||||
import xyz.valnet.engine.math.Vector2i;
|
import xyz.valnet.engine.math.Vector2i;
|
||||||
import xyz.valnet.engine.math.Vector4f;
|
import xyz.valnet.engine.math.Vector4f;
|
||||||
import xyz.valnet.hadean.Layers;
|
import xyz.valnet.hadean.interfaces.ISelectable;
|
||||||
|
import xyz.valnet.hadean.interfaces.ITileThing;
|
||||||
|
import xyz.valnet.hadean.interfaces.IWorkable;
|
||||||
import xyz.valnet.hadean.util.Action;
|
import xyz.valnet.hadean.util.Action;
|
||||||
import xyz.valnet.hadean.util.Assets;
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
|
||||||
public class Tree extends WorldObject implements ITileThing, ISelectable, IWorkable {
|
public class Tree extends WorldObject implements ITileThing, ISelectable, IWorkable {
|
||||||
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.gameobjects.worldobjects;
|
||||||
|
|
||||||
import xyz.valnet.engine.scenegraph.GameObject;
|
import xyz.valnet.engine.scenegraph.GameObject;
|
||||||
|
import xyz.valnet.hadean.gameobjects.Camera;
|
||||||
|
import xyz.valnet.hadean.gameobjects.Terrain;
|
||||||
|
import xyz.valnet.hadean.gameobjects.Tile;
|
||||||
|
|
||||||
public class WorldObject extends GameObject {
|
public class WorldObject extends GameObject {
|
||||||
|
|
||||||
|
|
@ -16,4 +19,8 @@ public class WorldObject extends GameObject {
|
||||||
terrain = get(Terrain.class);
|
terrain = get(Terrain.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Tile getTile() {
|
||||||
|
return terrain.getTile((int)x, (int)y);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.interfaces;
|
||||||
|
|
||||||
public interface IBottomBarItem {
|
public interface IBottomBarItem {
|
||||||
public void evoke();
|
public void evoke();
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
package xyz.valnet.hadean.interfaces;
|
||||||
|
|
||||||
|
import xyz.valnet.hadean.gameobjects.Tile;
|
||||||
|
import xyz.valnet.hadean.gameobjects.worldobjects.Log;
|
||||||
|
|
||||||
|
public interface IHaulable extends IJob {
|
||||||
|
public Log take();
|
||||||
|
public Tile getDestination();
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.interfaces;
|
||||||
|
|
||||||
import xyz.valnet.engine.math.Vector2i;
|
import xyz.valnet.engine.math.Vector2i;
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.interfaces;
|
||||||
|
|
||||||
import xyz.valnet.engine.math.Vector4f;
|
import xyz.valnet.engine.math.Vector4f;
|
||||||
import xyz.valnet.hadean.util.Action;
|
import xyz.valnet.hadean.util.Action;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.interfaces;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.interfaces;
|
||||||
|
|
||||||
public interface ITileThing {
|
public interface ITileThing {
|
||||||
public boolean isWalkable();
|
public boolean isWalkable();
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.valnet.hadean.gameobjects;
|
package xyz.valnet.hadean.interfaces;
|
||||||
|
|
||||||
public interface IWorkable extends IJob {
|
public interface IWorkable extends IJob {
|
||||||
public void doWork();
|
public void doWork();
|
||||||
|
|
@ -1,22 +1,14 @@
|
||||||
package xyz.valnet.hadean.scenes;
|
package xyz.valnet.hadean.scenes;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import xyz.valnet.engine.App;
|
|
||||||
import xyz.valnet.engine.scenegraph.GameObject;
|
|
||||||
import xyz.valnet.engine.scenegraph.IMouseCaptureArea;
|
|
||||||
import xyz.valnet.engine.scenegraph.IScene;
|
|
||||||
import xyz.valnet.engine.scenegraph.SceneGraph;
|
import xyz.valnet.engine.scenegraph.SceneGraph;
|
||||||
import xyz.valnet.hadean.gameobjects.BottomBar;
|
import xyz.valnet.hadean.gameobjects.BottomBar;
|
||||||
import xyz.valnet.hadean.gameobjects.Camera;
|
import xyz.valnet.hadean.gameobjects.Camera;
|
||||||
import xyz.valnet.hadean.gameobjects.Pawn;
|
|
||||||
import xyz.valnet.hadean.gameobjects.Selection;
|
import xyz.valnet.hadean.gameobjects.Selection;
|
||||||
import xyz.valnet.hadean.gameobjects.SelectionUI;
|
import xyz.valnet.hadean.gameobjects.SelectionUI;
|
||||||
import xyz.valnet.hadean.gameobjects.Terrain;
|
import xyz.valnet.hadean.gameobjects.Terrain;
|
||||||
import xyz.valnet.hadean.gameobjects.tabs.ArchitectTab;
|
import xyz.valnet.hadean.gameobjects.tabs.ArchitectTab;
|
||||||
import xyz.valnet.hadean.gameobjects.tabs.MenuTab;
|
import xyz.valnet.hadean.gameobjects.tabs.MenuTab;
|
||||||
|
import xyz.valnet.hadean.gameobjects.worldobjects.Pawn;
|
||||||
|
|
||||||
// TODO BIG IDEAS
|
// TODO BIG IDEAS
|
||||||
// have caches of types that ill need (Like IMouseListener)
|
// have caches of types that ill need (Like IMouseListener)
|
||||||
|
|
@ -33,14 +25,15 @@ public class GameScene extends SceneGraph {
|
||||||
protected void construct() {
|
protected void construct() {
|
||||||
|
|
||||||
objects.add(new Terrain());
|
objects.add(new Terrain());
|
||||||
|
objects.add(new Camera());
|
||||||
|
|
||||||
for(int i = 0; i < 5; i ++) {
|
for(int i = 0; i < 5; i ++) {
|
||||||
objects.add(new Pawn());
|
objects.add(new Pawn());
|
||||||
}
|
}
|
||||||
|
|
||||||
objects.add(new Camera());
|
|
||||||
objects.add(new Selection());
|
objects.add(new Selection());
|
||||||
objects.add(new SelectionUI());
|
objects.add(new SelectionUI());
|
||||||
|
|
||||||
objects.add(new BottomBar());
|
objects.add(new BottomBar());
|
||||||
objects.add(new ArchitectTab());
|
objects.add(new ArchitectTab());
|
||||||
objects.add(new MenuTab());
|
objects.add(new MenuTab());
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ package xyz.valnet.hadean.scenes;
|
||||||
import xyz.valnet.engine.App;
|
import xyz.valnet.engine.App;
|
||||||
import xyz.valnet.engine.math.Vector4f;
|
import xyz.valnet.engine.math.Vector4f;
|
||||||
import xyz.valnet.engine.scenegraph.IScene;
|
import xyz.valnet.engine.scenegraph.IScene;
|
||||||
import xyz.valnet.hadean.Layers;
|
|
||||||
import xyz.valnet.hadean.input.Button;
|
import xyz.valnet.hadean.input.Button;
|
||||||
import xyz.valnet.hadean.input.IButtonListener;
|
import xyz.valnet.hadean.input.IButtonListener;
|
||||||
import xyz.valnet.hadean.util.Assets;
|
import xyz.valnet.hadean.util.Assets;
|
||||||
|
import xyz.valnet.hadean.util.Layers;
|
||||||
|
|
||||||
import static xyz.valnet.hadean.HadeanGame.Hadean;
|
import static xyz.valnet.hadean.HadeanGame.Hadean;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.valnet.hadean;
|
package xyz.valnet.hadean.util;
|
||||||
|
|
||||||
public class Layers {
|
public class Layers {
|
||||||
private static int current = 0;
|
private static int current = 0;
|
||||||
Loading…
Reference in New Issue