mass re-organization

pull/1/head
Valerie 2022-05-29 12:26:38 -04:00
parent 65e51597fa
commit f6ed9576f6
23 changed files with 69 additions and 57 deletions

View File

@ -6,10 +6,11 @@ import java.util.List;
import java.util.Map;
import xyz.valnet.engine.scenegraph.GameObject;
import xyz.valnet.hadean.Layers;
import xyz.valnet.hadean.input.Button;
import xyz.valnet.hadean.input.IButtonListener;
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 static final int bottomBarHeight = 32;

View File

@ -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();
}

View File

@ -9,8 +9,10 @@ import xyz.valnet.engine.math.Vector2f;
import xyz.valnet.engine.math.Vector4f;
import xyz.valnet.engine.scenegraph.GameObject;
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.Layers;
import static xyz.valnet.engine.util.Math.lerp;

View File

@ -7,12 +7,14 @@ import java.util.List;
import xyz.valnet.engine.math.Vector4f;
import xyz.valnet.engine.scenegraph.GameObject;
import xyz.valnet.engine.scenegraph.IMouseCaptureArea;
import xyz.valnet.hadean.Layers;
import xyz.valnet.hadean.input.Button;
import xyz.valnet.hadean.input.IButtonListener;
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.Assets;
import xyz.valnet.hadean.util.Layers;
public class SelectionUI extends GameObject implements ISelectionChangeListener, IButtonListener, IMouseCaptureArea {

View File

@ -2,10 +2,12 @@ package xyz.valnet.hadean.gameobjects;
import xyz.valnet.engine.graphics.Drawing;
import xyz.valnet.engine.math.Vector4f;
import xyz.valnet.hadean.Layers;
import xyz.valnet.hadean.Tile;
import xyz.valnet.hadean.gameobjects.worldobjects.WorldObject;
import xyz.valnet.hadean.interfaces.ISelectable;
import xyz.valnet.hadean.interfaces.ITileThing;
import xyz.valnet.hadean.util.Action;
import xyz.valnet.hadean.util.Assets;
import xyz.valnet.hadean.util.Layers;
public class Stockpile extends WorldObject implements ITileThing, ISelectable {
@ -54,10 +56,6 @@ public class Stockpile extends WorldObject implements ITileThing, ISelectable {
return "";
}
public Tile getTile() {
return terrain.getTile((int)x, (int)y);
}
@Override
public void updatePosition(int x, int y) {
this.x = x;

View File

@ -2,7 +2,6 @@ package xyz.valnet.hadean.gameobjects;
import xyz.valnet.engine.math.Vector2i;
import xyz.valnet.engine.scenegraph.GameObject;
import xyz.valnet.hadean.Tile;
import xyz.valnet.hadean.pathfinding.IPathable;
public class Terrain extends GameObject implements IPathable {

View File

@ -1,4 +1,4 @@
package xyz.valnet.hadean;
package xyz.valnet.hadean.gameobjects;
import java.util.ArrayList;
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.Vector4f;
import xyz.valnet.engine.scenegraph.GameObject;
import xyz.valnet.hadean.gameobjects.Camera;
import xyz.valnet.hadean.gameobjects.ITileThing;
import xyz.valnet.hadean.gameobjects.Log;
import xyz.valnet.hadean.gameobjects.Tree;
import xyz.valnet.hadean.gameobjects.worldobjects.Log;
import xyz.valnet.hadean.gameobjects.worldobjects.Tree;
import xyz.valnet.hadean.interfaces.ITileThing;
import xyz.valnet.hadean.util.Assets;
import xyz.valnet.hadean.util.Layers;
// TODO make these tiles REAL gameobjects...
public class Tile extends GameObject {
private Camera camera;

View File

@ -4,9 +4,9 @@ import java.util.ArrayList;
import java.util.List;
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.interfaces.ISelectable;
import xyz.valnet.hadean.interfaces.ISelectionChangeListener;
import xyz.valnet.hadean.util.Assets;
import static xyz.valnet.engine.util.Math.lerp;

View File

@ -2,7 +2,7 @@ package xyz.valnet.hadean.gameobjects.tabs;
import xyz.valnet.engine.scenegraph.GameObject;
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 {

View File

@ -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.math.Vector2i;
import xyz.valnet.engine.math.Vector4f;
import xyz.valnet.hadean.Layers;
import xyz.valnet.hadean.Tile;
import xyz.valnet.hadean.gameobjects.Stockpile;
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.Assets;
import xyz.valnet.hadean.util.Layers;
public class Log extends WorldObject implements ITileThing, ISelectable, IHaulable {

View File

@ -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.glBegin;
@ -15,7 +15,14 @@ import xyz.valnet.engine.math.Vector2f;
import xyz.valnet.engine.math.Vector2i;
import xyz.valnet.engine.math.Vector4f;
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.IPathfinder;
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() {
return new Vector2i((int)Math.floor(x), (int)Math.floor(y));
}

View File

@ -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.math.Vector2i;
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.Assets;
import xyz.valnet.hadean.util.Layers;
public class Tree extends WorldObject implements ITileThing, ISelectable, IWorkable {

View File

@ -1,6 +1,9 @@
package xyz.valnet.hadean.gameobjects;
package xyz.valnet.hadean.gameobjects.worldobjects;
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 {
@ -16,4 +19,8 @@ public class WorldObject extends GameObject {
terrain = get(Terrain.class);
}
public Tile getTile() {
return terrain.getTile((int)x, (int)y);
}
}

View File

@ -1,4 +1,4 @@
package xyz.valnet.hadean.gameobjects;
package xyz.valnet.hadean.interfaces;
public interface IBottomBarItem {
public void evoke();

View File

@ -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();
}

View File

@ -1,4 +1,4 @@
package xyz.valnet.hadean.gameobjects;
package xyz.valnet.hadean.interfaces;
import xyz.valnet.engine.math.Vector2i;

View File

@ -1,4 +1,4 @@
package xyz.valnet.hadean.gameobjects;
package xyz.valnet.hadean.interfaces;
import xyz.valnet.engine.math.Vector4f;
import xyz.valnet.hadean.util.Action;

View File

@ -1,4 +1,4 @@
package xyz.valnet.hadean.gameobjects;
package xyz.valnet.hadean.interfaces;
import java.util.List;

View File

@ -1,4 +1,4 @@
package xyz.valnet.hadean.gameobjects;
package xyz.valnet.hadean.interfaces;
public interface ITileThing {
public boolean isWalkable();

View File

@ -1,4 +1,4 @@
package xyz.valnet.hadean.gameobjects;
package xyz.valnet.hadean.interfaces;
public interface IWorkable extends IJob {
public void doWork();

View File

@ -1,22 +1,14 @@
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.hadean.gameobjects.BottomBar;
import xyz.valnet.hadean.gameobjects.Camera;
import xyz.valnet.hadean.gameobjects.Pawn;
import xyz.valnet.hadean.gameobjects.Selection;
import xyz.valnet.hadean.gameobjects.SelectionUI;
import xyz.valnet.hadean.gameobjects.Terrain;
import xyz.valnet.hadean.gameobjects.tabs.ArchitectTab;
import xyz.valnet.hadean.gameobjects.tabs.MenuTab;
import xyz.valnet.hadean.gameobjects.worldobjects.Pawn;
// TODO BIG IDEAS
// have caches of types that ill need (Like IMouseListener)
@ -33,14 +25,15 @@ public class GameScene extends SceneGraph {
protected void construct() {
objects.add(new Terrain());
objects.add(new Camera());
for(int i = 0; i < 5; i ++) {
objects.add(new Pawn());
}
objects.add(new Camera());
objects.add(new Selection());
objects.add(new SelectionUI());
objects.add(new BottomBar());
objects.add(new ArchitectTab());
objects.add(new MenuTab());

View File

@ -3,10 +3,10 @@ package xyz.valnet.hadean.scenes;
import xyz.valnet.engine.App;
import xyz.valnet.engine.math.Vector4f;
import xyz.valnet.engine.scenegraph.IScene;
import xyz.valnet.hadean.Layers;
import xyz.valnet.hadean.input.Button;
import xyz.valnet.hadean.input.IButtonListener;
import xyz.valnet.hadean.util.Assets;
import xyz.valnet.hadean.util.Layers;
import static xyz.valnet.hadean.HadeanGame.Hadean;

View File

@ -1,4 +1,4 @@
package xyz.valnet.hadean;
package xyz.valnet.hadean.util;
public class Layers {
private static int current = 0;