Refactor :api structure
Refactored API structure to following packages: * `api` - contains essential API classes * `lib` - contains ready-to-use snippets implemented on `api` * `util` - contains utility classes * `internal` - contains internal classes that are not supposed to be used by user
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.ai;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
|
|
||||||
|
@FunctionalInterface
|
||||||
|
public interface AI {
|
||||||
|
void nextActivity(ObjectLayer layer, float dt);
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.ai;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.entity.Entity;
|
||||||
|
|
||||||
|
public interface NPC extends Entity {
|
||||||
|
AI getStrategy();
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.animation;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.map.layer.base.Layer;
|
||||||
|
import com.bartlomiejpluta.base.api.move.Movable;
|
||||||
|
import com.bartlomiejpluta.base.internal.logic.Updatable;
|
||||||
|
import com.bartlomiejpluta.base.internal.object.Placeable;
|
||||||
|
import com.bartlomiejpluta.base.internal.render.Renderable;
|
||||||
|
import com.bartlomiejpluta.base.util.path.Path;
|
||||||
|
|
||||||
|
public interface Animation extends Placeable, Movable, Renderable, Updatable {
|
||||||
|
|
||||||
|
void setAnimationSpeed(float speed);
|
||||||
|
|
||||||
|
Integer getRepeat();
|
||||||
|
|
||||||
|
void setRepeat(Integer repeat);
|
||||||
|
|
||||||
|
void followPath(Path<Animation> path, Integer repeat, boolean finishOnEnd, boolean finishOnFail);
|
||||||
|
|
||||||
|
void onAdd(Layer layer);
|
||||||
|
|
||||||
|
void onFinish(Layer layer);
|
||||||
|
|
||||||
|
void finish();
|
||||||
|
|
||||||
|
boolean finished();
|
||||||
|
}
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.animation;
|
package com.bartlomiejpluta.base.api.animation;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.camera.Camera;
|
import com.bartlomiejpluta.base.api.camera.Camera;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
import com.bartlomiejpluta.base.api.map.layer.base.Layer;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Direction;
|
import com.bartlomiejpluta.base.api.move.Direction;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Movement;
|
import com.bartlomiejpluta.base.api.move.Movement;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
import com.bartlomiejpluta.base.api.internal.object.Placeable;
|
import com.bartlomiejpluta.base.internal.object.Placeable;
|
||||||
import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
|
import com.bartlomiejpluta.base.internal.render.ShaderManager;
|
||||||
import com.bartlomiejpluta.base.api.util.path.Path;
|
import com.bartlomiejpluta.base.util.path.Path;
|
||||||
import org.joml.Matrix4fc;
|
import org.joml.Matrix4fc;
|
||||||
import org.joml.Vector2fc;
|
import org.joml.Vector2fc;
|
||||||
import org.joml.Vector2ic;
|
import org.joml.Vector2ic;
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.camera;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
import com.bartlomiejpluta.base.internal.object.Placeable;
|
||||||
|
import com.bartlomiejpluta.base.internal.render.ShaderManager;
|
||||||
|
import org.joml.Matrix4fc;
|
||||||
|
|
||||||
|
public interface Camera extends Placeable {
|
||||||
|
Matrix4fc computeViewModelMatrix(Matrix4fc modelMatrix);
|
||||||
|
|
||||||
|
void render(Screen screen, ShaderManager shaderManager);
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.context;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.animation.Animation;
|
||||||
|
import com.bartlomiejpluta.base.api.camera.Camera;
|
||||||
|
import com.bartlomiejpluta.base.api.entity.Entity;
|
||||||
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
|
import com.bartlomiejpluta.base.api.image.Image;
|
||||||
|
import com.bartlomiejpluta.base.api.input.Input;
|
||||||
|
import com.bartlomiejpluta.base.api.runner.GameRunner;
|
||||||
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
import com.bartlomiejpluta.base.internal.gc.Disposable;
|
||||||
|
import com.bartlomiejpluta.base.internal.logic.Updatable;
|
||||||
|
import com.bartlomiejpluta.base.internal.render.Renderable;
|
||||||
|
|
||||||
|
public interface Context extends Updatable, Renderable, Disposable {
|
||||||
|
GameRunner getGameRunner();
|
||||||
|
|
||||||
|
Screen getScreen();
|
||||||
|
|
||||||
|
Camera getCamera();
|
||||||
|
|
||||||
|
Input getInput();
|
||||||
|
|
||||||
|
String getProjectName();
|
||||||
|
|
||||||
|
void openMap(String mapUid);
|
||||||
|
|
||||||
|
void closeMap();
|
||||||
|
|
||||||
|
Entity createEntity(String entitySetUid);
|
||||||
|
|
||||||
|
Animation createAnimation(String animationUid);
|
||||||
|
|
||||||
|
Image getImage(String imageUid);
|
||||||
|
|
||||||
|
GUI newGUI();
|
||||||
|
|
||||||
|
boolean isRunning();
|
||||||
|
|
||||||
|
void close();
|
||||||
|
|
||||||
|
boolean isPaused();
|
||||||
|
|
||||||
|
void pause();
|
||||||
|
|
||||||
|
void resume();
|
||||||
|
|
||||||
|
boolean togglePause();
|
||||||
|
|
||||||
|
void init(Screen screen, Input input, Camera camera);
|
||||||
|
|
||||||
|
void input(Input input);
|
||||||
|
}
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.entity;
|
package com.bartlomiejpluta.base.api.entity;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Direction;
|
import com.bartlomiejpluta.base.api.move.Direction;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Movable;
|
import com.bartlomiejpluta.base.api.move.Movable;
|
||||||
import com.bartlomiejpluta.base.api.internal.logic.Updatable;
|
import com.bartlomiejpluta.base.internal.logic.Updatable;
|
||||||
import com.bartlomiejpluta.base.api.internal.object.Placeable;
|
import com.bartlomiejpluta.base.internal.object.Placeable;
|
||||||
import com.bartlomiejpluta.base.api.internal.render.Renderable;
|
import com.bartlomiejpluta.base.internal.render.Renderable;
|
||||||
|
|
||||||
public interface Entity extends Placeable, Movable, Renderable, Updatable {
|
public interface Entity extends Placeable, Movable, Renderable, Updatable {
|
||||||
|
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.entity;
|
package com.bartlomiejpluta.base.api.entity;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.camera.Camera;
|
import com.bartlomiejpluta.base.api.camera.Camera;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Direction;
|
import com.bartlomiejpluta.base.api.move.Direction;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Movement;
|
import com.bartlomiejpluta.base.api.move.Movement;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
import com.bartlomiejpluta.base.api.internal.object.Placeable;
|
import com.bartlomiejpluta.base.internal.object.Placeable;
|
||||||
import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
|
import com.bartlomiejpluta.base.internal.render.ShaderManager;
|
||||||
import org.joml.Matrix4fc;
|
import org.joml.Matrix4fc;
|
||||||
import org.joml.Vector2fc;
|
import org.joml.Vector2fc;
|
||||||
import org.joml.Vector2ic;
|
import org.joml.Vector2ic;
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.ai;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
|
||||||
|
|
||||||
@FunctionalInterface
|
|
||||||
public interface AI {
|
|
||||||
void nextActivity(ObjectLayer layer, float dt);
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.ai;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.entity.Entity;
|
|
||||||
|
|
||||||
public interface NPC extends Entity {
|
|
||||||
AI getStrategy();
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.animation;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
|
||||||
import com.bartlomiejpluta.base.api.game.move.Movable;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.logic.Updatable;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.object.Placeable;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.render.Renderable;
|
|
||||||
import com.bartlomiejpluta.base.api.util.path.Path;
|
|
||||||
|
|
||||||
public interface Animation extends Placeable, Movable, Renderable, Updatable {
|
|
||||||
|
|
||||||
void setAnimationSpeed(float speed);
|
|
||||||
|
|
||||||
Integer getRepeat();
|
|
||||||
|
|
||||||
void setRepeat(Integer repeat);
|
|
||||||
|
|
||||||
void followPath(Path<Animation> path, Integer repeat, boolean finishOnEnd, boolean finishOnFail);
|
|
||||||
|
|
||||||
void onAdd(Layer layer);
|
|
||||||
|
|
||||||
void onFinish(Layer layer);
|
|
||||||
|
|
||||||
void finish();
|
|
||||||
|
|
||||||
boolean finished();
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.camera;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.object.Placeable;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
|
|
||||||
import org.joml.Matrix4fc;
|
|
||||||
|
|
||||||
public interface Camera extends Placeable {
|
|
||||||
Matrix4fc computeViewModelMatrix(Matrix4fc modelMatrix);
|
|
||||||
|
|
||||||
void render(Screen screen, ShaderManager shaderManager);
|
|
||||||
}
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.context;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.animation.Animation;
|
|
||||||
import com.bartlomiejpluta.base.api.game.camera.Camera;
|
|
||||||
import com.bartlomiejpluta.base.api.game.entity.Entity;
|
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
|
||||||
import com.bartlomiejpluta.base.api.game.image.Image;
|
|
||||||
import com.bartlomiejpluta.base.api.game.input.Input;
|
|
||||||
import com.bartlomiejpluta.base.api.game.runner.GameRunner;
|
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.gc.Disposable;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.logic.Updatable;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.render.Renderable;
|
|
||||||
|
|
||||||
public interface Context extends Updatable, Renderable, Disposable {
|
|
||||||
GameRunner getGameRunner();
|
|
||||||
|
|
||||||
Screen getScreen();
|
|
||||||
|
|
||||||
Camera getCamera();
|
|
||||||
|
|
||||||
Input getInput();
|
|
||||||
|
|
||||||
String getProjectName();
|
|
||||||
|
|
||||||
void openMap(String mapUid);
|
|
||||||
|
|
||||||
void closeMap();
|
|
||||||
|
|
||||||
Entity createEntity(String entitySetUid);
|
|
||||||
|
|
||||||
Animation createAnimation(String animationUid);
|
|
||||||
|
|
||||||
Image getImage(String imageUid);
|
|
||||||
|
|
||||||
GUI newGUI();
|
|
||||||
|
|
||||||
boolean isRunning();
|
|
||||||
|
|
||||||
void close();
|
|
||||||
|
|
||||||
boolean isPaused();
|
|
||||||
|
|
||||||
void pause();
|
|
||||||
|
|
||||||
void resume();
|
|
||||||
|
|
||||||
boolean togglePause();
|
|
||||||
|
|
||||||
void init(Screen screen, Input input, Camera camera);
|
|
||||||
|
|
||||||
void input(Input input);
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.base;
|
|
||||||
|
|
||||||
public interface Paint {
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
|
||||||
|
|
||||||
public interface Container extends Component {
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.map.handler;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
|
||||||
import com.bartlomiejpluta.base.api.game.input.Input;
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.model.GameMap;
|
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
|
||||||
|
|
||||||
public interface MapHandler {
|
|
||||||
void onCreate(Context context, GameMap map);
|
|
||||||
|
|
||||||
void onOpen(Context context, GameMap map);
|
|
||||||
|
|
||||||
void input(Input input);
|
|
||||||
|
|
||||||
void update(Context context, GameMap map, float dt);
|
|
||||||
|
|
||||||
void postRender(Screen screen);
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.map.layer.base;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.animation.Animation;
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.model.GameMap;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.logic.Updatable;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.render.Renderable;
|
|
||||||
|
|
||||||
public interface Layer extends Renderable, Updatable {
|
|
||||||
GameMap getMap();
|
|
||||||
|
|
||||||
void pushAnimation(Animation animation);
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.map.layer.object;
|
|
||||||
|
|
||||||
public enum PassageAbility {
|
|
||||||
BLOCK,
|
|
||||||
ALLOW
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.rule;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.entity.Entity;
|
|
||||||
|
|
||||||
public interface Rule {
|
|
||||||
boolean when(Entity entity);
|
|
||||||
|
|
||||||
void then(Entity entity);
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.runner;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
|
||||||
import com.bartlomiejpluta.base.api.game.input.Input;
|
|
||||||
import com.bartlomiejpluta.base.api.internal.gc.Disposable;
|
|
||||||
|
|
||||||
public interface GameRunner extends Disposable {
|
|
||||||
void init(Context context);
|
|
||||||
|
|
||||||
void input(Input input);
|
|
||||||
|
|
||||||
void update(float dt);
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.base;
|
package com.bartlomiejpluta.base.api.gui.base;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEvent;
|
import com.bartlomiejpluta.base.api.input.KeyEvent;
|
||||||
|
|
||||||
public abstract class BaseWidget implements Widget {
|
public abstract class BaseWidget implements Widget {
|
||||||
protected Widget parent;
|
protected Widget parent;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.base;
|
package com.bartlomiejpluta.base.api.gui.base;
|
||||||
|
|
||||||
public interface Color {
|
public interface Color {
|
||||||
void setRGB(float red, float green, float blue);
|
void setRGB(float red, float green, float blue);
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.base;
|
package com.bartlomiejpluta.base.api.gui.base;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.gui.component.Component;
|
import com.bartlomiejpluta.base.api.gui.component.Component;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.window.Window;
|
import com.bartlomiejpluta.base.api.gui.window.Window;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEventHandler;
|
import com.bartlomiejpluta.base.api.input.KeyEventHandler;
|
||||||
import com.bartlomiejpluta.base.api.internal.gc.Disposable;
|
import com.bartlomiejpluta.base.internal.gc.Disposable;
|
||||||
import com.bartlomiejpluta.base.api.internal.render.Renderable;
|
import com.bartlomiejpluta.base.internal.render.Renderable;
|
||||||
|
|
||||||
public interface GUI extends Renderable, Disposable, KeyEventHandler {
|
public interface GUI extends Renderable, Disposable, KeyEventHandler {
|
||||||
int ALIGN_LEFT = 1 << 0;
|
int ALIGN_LEFT = 1 << 0;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.base;
|
package com.bartlomiejpluta.base.api.gui.base;
|
||||||
|
|
||||||
public interface Image {
|
public interface Image {
|
||||||
int getWidth();
|
int getWidth();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.base;
|
package com.bartlomiejpluta.base.api.gui.base;
|
||||||
|
|
||||||
public enum LineCap {
|
public enum LineCap {
|
||||||
BUTT,
|
BUTT,
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.gui.base;
|
||||||
|
|
||||||
|
public interface Paint {
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.base;
|
package com.bartlomiejpluta.base.api.gui.base;
|
||||||
|
|
||||||
public enum SizeMode {
|
public enum SizeMode {
|
||||||
AUTO,
|
AUTO,
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.base;
|
package com.bartlomiejpluta.base.api.gui.base;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEventHandler;
|
import com.bartlomiejpluta.base.api.input.KeyEventHandler;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
public interface Widget extends KeyEventHandler {
|
public interface Widget extends KeyEventHandler {
|
||||||
Widget getParent();
|
Widget getParent();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.base;
|
package com.bartlomiejpluta.base.api.gui.base;
|
||||||
|
|
||||||
public enum WindingDirection {
|
public enum WindingDirection {
|
||||||
CLOCKWISE,
|
CLOCKWISE,
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.SizeMode;
|
import com.bartlomiejpluta.base.api.gui.base.SizeMode;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
public class AbsoluteLayout extends BaseContainer {
|
public class AbsoluteLayout extends BaseContainer {
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.BaseWidget;
|
import com.bartlomiejpluta.base.api.gui.base.BaseWidget;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
|
|
||||||
import static java.util.Collections.emptyList;
|
import static java.util.Collections.emptyList;
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEvent;
|
import com.bartlomiejpluta.base.api.input.KeyEvent;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.SizeMode;
|
import com.bartlomiejpluta.base.api.gui.base.SizeMode;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
public class BorderLayout extends BaseContainer {
|
public class BorderLayout extends BaseContainer {
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.Widget;
|
import com.bartlomiejpluta.base.api.gui.base.Widget;
|
||||||
|
|
||||||
public interface Component extends Widget {
|
public interface Component extends Widget {
|
||||||
Iterable<Component> getChildren();
|
Iterable<Component> getChildren();
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
import static java.util.Objects.requireNonNull;
|
import static java.util.Objects.requireNonNull;
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
|
public interface Container extends Component {
|
||||||
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
public class HLayout extends BaseContainer {
|
public class HLayout extends BaseContainer {
|
||||||
protected float offsetX = 0.0f;
|
protected float offsetX = 0.0f;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.input.Key;
|
import com.bartlomiejpluta.base.api.input.Key;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyAction;
|
import com.bartlomiejpluta.base.api.input.KeyAction;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEvent;
|
import com.bartlomiejpluta.base.api.input.KeyEvent;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.SizeMode;
|
import com.bartlomiejpluta.base.api.gui.base.SizeMode;
|
||||||
import com.bartlomiejpluta.base.api.game.input.Key;
|
import com.bartlomiejpluta.base.api.input.Key;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyAction;
|
import com.bartlomiejpluta.base.api.input.KeyAction;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEvent;
|
import com.bartlomiejpluta.base.api.input.KeyEvent;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
import static com.bartlomiejpluta.base.api.util.math.MathUtil.clamp;
|
import static com.bartlomiejpluta.base.util.math.MathUtil.clamp;
|
||||||
import static java.lang.Math.*;
|
import static java.lang.Math.*;
|
||||||
|
|
||||||
public class HScrollableLayout extends HLayout {
|
public class HScrollableLayout extends HLayout {
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.Image;
|
import com.bartlomiejpluta.base.api.gui.base.Image;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.Paint;
|
import com.bartlomiejpluta.base.api.gui.base.Paint;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
public class ImageView extends BaseComponent {
|
public class ImageView extends BaseComponent {
|
||||||
private final Paint paint;
|
private final Paint paint;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.Color;
|
import com.bartlomiejpluta.base.api.gui.base.Color;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
import static java.util.Objects.requireNonNull;
|
import static java.util.Objects.requireNonNull;
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
public class VLayout extends BaseContainer {
|
public class VLayout extends BaseContainer {
|
||||||
protected float offsetX = 0.0f;
|
protected float offsetX = 0.0f;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.input.Key;
|
import com.bartlomiejpluta.base.api.input.Key;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyAction;
|
import com.bartlomiejpluta.base.api.input.KeyAction;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEvent;
|
import com.bartlomiejpluta.base.api.input.KeyEvent;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.component;
|
package com.bartlomiejpluta.base.api.gui.component;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.SizeMode;
|
import com.bartlomiejpluta.base.api.gui.base.SizeMode;
|
||||||
import com.bartlomiejpluta.base.api.game.input.Key;
|
import com.bartlomiejpluta.base.api.input.Key;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyAction;
|
import com.bartlomiejpluta.base.api.input.KeyAction;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEvent;
|
import com.bartlomiejpluta.base.api.input.KeyEvent;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
import static com.bartlomiejpluta.base.api.util.math.MathUtil.clamp;
|
import static com.bartlomiejpluta.base.util.math.MathUtil.clamp;
|
||||||
import static java.lang.Math.*;
|
import static java.lang.Math.*;
|
||||||
|
|
||||||
public class VScrollableLayout extends VLayout {
|
public class VScrollableLayout extends VLayout {
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.window;
|
package com.bartlomiejpluta.base.api.gui.window;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.BaseWidget;
|
import com.bartlomiejpluta.base.api.gui.base.BaseWidget;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.component.Component;
|
import com.bartlomiejpluta.base.api.gui.component.Component;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEvent;
|
import com.bartlomiejpluta.base.api.input.KeyEvent;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
import static java.util.Objects.requireNonNull;
|
import static java.util.Objects.requireNonNull;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.window;
|
package com.bartlomiejpluta.base.api.gui.window;
|
||||||
|
|
||||||
public enum DisplayMode {
|
public enum DisplayMode {
|
||||||
DISPLAY_STACK,
|
DISPLAY_STACK,
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.window;
|
package com.bartlomiejpluta.base.api.gui.window;
|
||||||
|
|
||||||
public interface Inflatable {
|
public interface Inflatable {
|
||||||
default void onInflate() {
|
default void onInflate() {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.window;
|
package com.bartlomiejpluta.base.api.gui.window;
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.window;
|
package com.bartlomiejpluta.base.api.gui.window;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.Widget;
|
import com.bartlomiejpluta.base.api.gui.base.Widget;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.component.Component;
|
import com.bartlomiejpluta.base.api.gui.component.Component;
|
||||||
|
|
||||||
public interface Window extends Widget {
|
public interface Window extends Widget {
|
||||||
void setContent(Component component);
|
void setContent(Component component);
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.window;
|
package com.bartlomiejpluta.base.api.gui.window;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.BaseWidget;
|
import com.bartlomiejpluta.base.api.gui.base.BaseWidget;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.GUI;
|
import com.bartlomiejpluta.base.api.gui.base.GUI;
|
||||||
import com.bartlomiejpluta.base.api.game.gui.base.SizeMode;
|
import com.bartlomiejpluta.base.api.gui.base.SizeMode;
|
||||||
import com.bartlomiejpluta.base.api.game.input.KeyEvent;
|
import com.bartlomiejpluta.base.api.input.KeyEvent;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
import java.util.Deque;
|
import java.util.Deque;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.gui.window;
|
package com.bartlomiejpluta.base.api.gui.window;
|
||||||
|
|
||||||
public enum WindowPosition {
|
public enum WindowPosition {
|
||||||
TOP,
|
TOP,
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.image;
|
package com.bartlomiejpluta.base.api.image;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.internal.object.Placeable;
|
import com.bartlomiejpluta.base.internal.object.Placeable;
|
||||||
import com.bartlomiejpluta.base.api.internal.render.Renderable;
|
import com.bartlomiejpluta.base.internal.render.Renderable;
|
||||||
|
|
||||||
public interface Image extends Placeable, Renderable {
|
public interface Image extends Placeable, Renderable {
|
||||||
int getPrimaryWidth();
|
int getPrimaryWidth();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.input;
|
package com.bartlomiejpluta.base.api.input;
|
||||||
|
|
||||||
public interface Input {
|
public interface Input {
|
||||||
boolean isKeyPressed(Key key);
|
boolean isKeyPressed(Key key);
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.input;
|
package com.bartlomiejpluta.base.api.input;
|
||||||
|
|
||||||
public interface InputEvent {
|
public interface InputEvent {
|
||||||
boolean isConsumed();
|
boolean isConsumed();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.input;
|
package com.bartlomiejpluta.base.api.input;
|
||||||
|
|
||||||
public enum Key {
|
public enum Key {
|
||||||
KEY_SPACE,
|
KEY_SPACE,
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.input;
|
package com.bartlomiejpluta.base.api.input;
|
||||||
|
|
||||||
public enum KeyAction {
|
public enum KeyAction {
|
||||||
PRESS,
|
PRESS,
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.input;
|
package com.bartlomiejpluta.base.api.input;
|
||||||
|
|
||||||
public interface KeyEvent extends InputEvent {
|
public interface KeyEvent extends InputEvent {
|
||||||
Key getKey();
|
Key getKey();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.input;
|
package com.bartlomiejpluta.base.api.input;
|
||||||
|
|
||||||
public interface KeyEventHandler {
|
public interface KeyEventHandler {
|
||||||
void handleKeyEvent(KeyEvent event);
|
void handleKeyEvent(KeyEvent event);
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.internal.render;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.camera.Camera;
|
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
|
||||||
|
|
||||||
public interface Renderable {
|
|
||||||
void render(Screen screen, Camera camera, ShaderManager shaderManager);
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.map.handler;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
|
import com.bartlomiejpluta.base.api.input.Input;
|
||||||
|
import com.bartlomiejpluta.base.api.map.model.GameMap;
|
||||||
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
|
public interface MapHandler {
|
||||||
|
void onCreate(Context context, GameMap map);
|
||||||
|
|
||||||
|
void onOpen(Context context, GameMap map);
|
||||||
|
|
||||||
|
void input(Input input);
|
||||||
|
|
||||||
|
void update(Context context, GameMap map, float dt);
|
||||||
|
|
||||||
|
void postRender(Screen screen);
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.map.layer.base;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.animation.Animation;
|
||||||
|
import com.bartlomiejpluta.base.api.map.model.GameMap;
|
||||||
|
import com.bartlomiejpluta.base.internal.logic.Updatable;
|
||||||
|
import com.bartlomiejpluta.base.internal.render.Renderable;
|
||||||
|
|
||||||
|
public interface Layer extends Renderable, Updatable {
|
||||||
|
GameMap getMap();
|
||||||
|
|
||||||
|
void pushAnimation(Animation animation);
|
||||||
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.map.layer.color;
|
package com.bartlomiejpluta.base.api.map.layer.color;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
import com.bartlomiejpluta.base.api.map.layer.base.Layer;
|
||||||
import com.bartlomiejpluta.base.api.internal.object.Placeable;
|
import com.bartlomiejpluta.base.internal.object.Placeable;
|
||||||
import com.bartlomiejpluta.base.api.internal.render.Renderable;
|
import com.bartlomiejpluta.base.internal.render.Renderable;
|
||||||
|
|
||||||
public interface ColorLayer extends Placeable, Renderable, Layer {
|
public interface ColorLayer extends Placeable, Renderable, Layer {
|
||||||
void setColor(float red, float green, float blue, float alpha);
|
void setColor(float red, float green, float blue, float alpha);
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.map.layer.image;
|
package com.bartlomiejpluta.base.api.map.layer.image;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.image.Image;
|
import com.bartlomiejpluta.base.api.image.Image;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
import com.bartlomiejpluta.base.api.map.layer.base.Layer;
|
||||||
|
|
||||||
public interface ImageLayer extends Layer {
|
public interface ImageLayer extends Layer {
|
||||||
void setImage(Image image);
|
void setImage(Image image);
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.map.layer.image;
|
package com.bartlomiejpluta.base.api.map.layer.image;
|
||||||
|
|
||||||
public enum ImageLayerMode {
|
public enum ImageLayerMode {
|
||||||
NORMAL,
|
NORMAL,
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.map.layer.object;
|
package com.bartlomiejpluta.base.api.map.layer.object;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.entity.Entity;
|
import com.bartlomiejpluta.base.api.entity.Entity;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
import com.bartlomiejpluta.base.api.map.layer.base.Layer;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Movement;
|
import com.bartlomiejpluta.base.api.move.Movement;
|
||||||
import com.bartlomiejpluta.base.api.game.rule.Rule;
|
import com.bartlomiejpluta.base.api.rule.Rule;
|
||||||
import org.joml.Vector2ic;
|
import org.joml.Vector2ic;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.map.layer.object;
|
||||||
|
|
||||||
|
public enum PassageAbility {
|
||||||
|
BLOCK,
|
||||||
|
ALLOW
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.map.layer.tile;
|
package com.bartlomiejpluta.base.api.map.layer.tile;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
import com.bartlomiejpluta.base.api.map.layer.base.Layer;
|
||||||
|
|
||||||
public interface TileLayer extends Layer {
|
public interface TileLayer extends Layer {
|
||||||
void setTile(int row, int column, int tileId);
|
void setTile(int row, int column, int tileId);
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.map.model;
|
package com.bartlomiejpluta.base.api.map.model;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.color.ColorLayer;
|
import com.bartlomiejpluta.base.api.map.layer.color.ColorLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.image.ImageLayer;
|
import com.bartlomiejpluta.base.api.map.layer.image.ImageLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.tile.TileLayer;
|
import com.bartlomiejpluta.base.api.map.layer.tile.TileLayer;
|
||||||
import org.joml.Vector2fc;
|
import org.joml.Vector2fc;
|
||||||
|
|
||||||
public interface GameMap {
|
public interface GameMap {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.move;
|
package com.bartlomiejpluta.base.api.move;
|
||||||
|
|
||||||
import org.joml.Vector2i;
|
import org.joml.Vector2i;
|
||||||
import org.joml.Vector2ic;
|
import org.joml.Vector2ic;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.move;
|
package com.bartlomiejpluta.base.api.move;
|
||||||
|
|
||||||
import org.joml.Vector2fc;
|
import org.joml.Vector2fc;
|
||||||
import org.joml.Vector2ic;
|
import org.joml.Vector2ic;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.move;
|
package com.bartlomiejpluta.base.api.move;
|
||||||
|
|
||||||
import org.joml.Vector2ic;
|
import org.joml.Vector2ic;
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.rule;
|
package com.bartlomiejpluta.base.api.rule;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.entity.Entity;
|
import com.bartlomiejpluta.base.api.entity.Entity;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.rule;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.entity.Entity;
|
||||||
|
|
||||||
|
public interface Rule {
|
||||||
|
boolean when(Entity entity);
|
||||||
|
|
||||||
|
void then(Entity entity);
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.bartlomiejpluta.base.api.runner;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
|
import com.bartlomiejpluta.base.api.input.Input;
|
||||||
|
import com.bartlomiejpluta.base.internal.gc.Disposable;
|
||||||
|
|
||||||
|
public interface GameRunner extends Disposable {
|
||||||
|
void init(Context context);
|
||||||
|
|
||||||
|
void input(Input input);
|
||||||
|
|
||||||
|
void update(float dt);
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.game.screen;
|
package com.bartlomiejpluta.base.api.screen;
|
||||||
|
|
||||||
import org.joml.Vector2fc;
|
import org.joml.Vector2fc;
|
||||||
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.snippet.animation;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
|
||||||
import org.joml.Vector2fc;
|
|
||||||
|
|
||||||
public interface AnimationRunner {
|
|
||||||
void run(Context context, Layer layer, Vector2fc origin);
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
package com.bartlomiejpluta.base.api.util.path;
|
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
|
||||||
import com.bartlomiejpluta.base.api.game.move.Movable;
|
|
||||||
|
|
||||||
public interface PathSegment<T extends Movable> {
|
|
||||||
PathProgress perform(T movable, ObjectLayer layer, float dt);
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.internal.gc;
|
package com.bartlomiejpluta.base.internal.gc;
|
||||||
|
|
||||||
public interface Cleanable {
|
public interface Cleanable {
|
||||||
void cleanUp();
|
void cleanUp();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.internal.gc;
|
package com.bartlomiejpluta.base.internal.gc;
|
||||||
|
|
||||||
public interface Disposable {
|
public interface Disposable {
|
||||||
void dispose();
|
void dispose();
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.internal.logic;
|
package com.bartlomiejpluta.base.internal.logic;
|
||||||
|
|
||||||
public interface Updatable {
|
public interface Updatable {
|
||||||
void update(float dt);
|
void update(float dt);
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.internal.object;
|
package com.bartlomiejpluta.base.internal.object;
|
||||||
|
|
||||||
import org.joml.Matrix4fc;
|
import org.joml.Matrix4fc;
|
||||||
import org.joml.Vector2fc;
|
import org.joml.Vector2fc;
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.bartlomiejpluta.base.internal.render;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.camera.Camera;
|
||||||
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
|
|
||||||
|
public interface Renderable {
|
||||||
|
void render(Screen screen, Camera camera, ShaderManager shaderManager);
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.bartlomiejpluta.base.api.internal.render;
|
package com.bartlomiejpluta.base.internal.render;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.internal.gc.Cleanable;
|
import com.bartlomiejpluta.base.internal.gc.Cleanable;
|
||||||
import org.joml.*;
|
import org.joml.*;
|
||||||
|
|
||||||
public interface ShaderManager extends Cleanable {
|
public interface ShaderManager extends Cleanable {
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.bartlomiejpluta.base.api.internal.render;
|
package com.bartlomiejpluta.base.internal.render;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.internal.gc.Disposable;
|
import com.bartlomiejpluta.base.internal.gc.Disposable;
|
||||||
import org.joml.*;
|
import org.joml.*;
|
||||||
|
|
||||||
public interface ShaderProgram extends Disposable {
|
public interface ShaderProgram extends Disposable {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.internal.render;
|
package com.bartlomiejpluta.base.internal.render;
|
||||||
|
|
||||||
public interface Uniform {
|
public interface Uniform {
|
||||||
void createUniform(ShaderProgram shaderProgram, String uniformName);
|
void createUniform(ShaderProgram shaderProgram, String uniformName);
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package com.bartlomiejpluta.base.api.snippet.ai;
|
package com.bartlomiejpluta.base.lib.ai;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.ai.AI;
|
import com.bartlomiejpluta.base.api.ai.AI;
|
||||||
import com.bartlomiejpluta.base.api.game.ai.NPC;
|
import com.bartlomiejpluta.base.api.ai.NPC;
|
||||||
import com.bartlomiejpluta.base.api.game.entity.Entity;
|
import com.bartlomiejpluta.base.api.entity.Entity;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Direction;
|
import com.bartlomiejpluta.base.api.move.Direction;
|
||||||
import com.bartlomiejpluta.base.api.util.pathfinder.PathFinder;
|
import com.bartlomiejpluta.base.util.pathfinder.PathFinder;
|
||||||
import org.joml.Vector2i;
|
import org.joml.Vector2i;
|
||||||
|
|
||||||
public class FollowEntityAI implements AI {
|
public class FollowEntityAI implements AI {
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package com.bartlomiejpluta.base.api.snippet.ai;
|
package com.bartlomiejpluta.base.lib.ai;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.ai.AI;
|
import com.bartlomiejpluta.base.api.ai.AI;
|
||||||
import com.bartlomiejpluta.base.api.game.ai.NPC;
|
import com.bartlomiejpluta.base.api.ai.NPC;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Direction;
|
import com.bartlomiejpluta.base.api.move.Direction;
|
||||||
import com.bartlomiejpluta.base.api.util.path.NPCPath;
|
import com.bartlomiejpluta.base.util.path.NPCPath;
|
||||||
import com.bartlomiejpluta.base.api.util.path.PathExecutor;
|
import com.bartlomiejpluta.base.util.path.PathExecutor;
|
||||||
|
|
||||||
public class FollowPathAI implements AI {
|
public class FollowPathAI implements AI {
|
||||||
private final PathExecutor<NPC> executor;
|
private final PathExecutor<NPC> executor;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.api.snippet.ai;
|
package com.bartlomiejpluta.base.lib.ai;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.ai.AI;
|
import com.bartlomiejpluta.base.api.ai.AI;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
|
|
||||||
public class NoopAI implements AI {
|
public class NoopAI implements AI {
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.bartlomiejpluta.base.api.snippet.ai;
|
package com.bartlomiejpluta.base.lib.ai;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.ai.AI;
|
import com.bartlomiejpluta.base.api.ai.AI;
|
||||||
import com.bartlomiejpluta.base.api.game.ai.NPC;
|
import com.bartlomiejpluta.base.api.ai.NPC;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Direction;
|
import com.bartlomiejpluta.base.api.move.Direction;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.bartlomiejpluta.base.lib.animation;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
|
import com.bartlomiejpluta.base.api.map.layer.base.Layer;
|
||||||
|
import org.joml.Vector2fc;
|
||||||
|
|
||||||
|
public interface AnimationRunner {
|
||||||
|
void run(Context context, Layer layer, Vector2fc origin);
|
||||||
|
}
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.bartlomiejpluta.base.api.snippet.animation;
|
package com.bartlomiejpluta.base.lib.animation;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.animation.Animation;
|
import com.bartlomiejpluta.base.api.animation.Animation;
|
||||||
import com.bartlomiejpluta.base.api.game.animation.AnimationDelegate;
|
import com.bartlomiejpluta.base.api.animation.AnimationDelegate;
|
||||||
import com.bartlomiejpluta.base.api.game.camera.Camera;
|
import com.bartlomiejpluta.base.api.camera.Camera;
|
||||||
import com.bartlomiejpluta.base.api.game.screen.Screen;
|
import com.bartlomiejpluta.base.api.screen.Screen;
|
||||||
import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
|
import com.bartlomiejpluta.base.internal.render.ShaderManager;
|
||||||
|
|
||||||
public class DelayedAnimation extends AnimationDelegate {
|
public class DelayedAnimation extends AnimationDelegate {
|
||||||
private final int delay;
|
private final int delay;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.api.snippet.animation;
|
package com.bartlomiejpluta.base.lib.animation;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
import com.bartlomiejpluta.base.api.map.layer.base.Layer;
|
||||||
import org.apache.commons.math3.distribution.NormalDistribution;
|
import org.apache.commons.math3.distribution.NormalDistribution;
|
||||||
import org.apache.commons.math3.distribution.RealDistribution;
|
import org.apache.commons.math3.distribution.RealDistribution;
|
||||||
import org.apache.commons.math3.distribution.UniformRealDistribution;
|
import org.apache.commons.math3.distribution.UniformRealDistribution;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.bartlomiejpluta.base.api.snippet.animation;
|
package com.bartlomiejpluta.base.lib.animation;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.animation.Animation;
|
import com.bartlomiejpluta.base.api.animation.Animation;
|
||||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
import com.bartlomiejpluta.base.api.map.layer.base.Layer;
|
||||||
import com.bartlomiejpluta.base.api.util.path.Path;
|
import com.bartlomiejpluta.base.util.path.Path;
|
||||||
import org.joml.Vector2fc;
|
import org.joml.Vector2fc;
|
||||||
|
|
||||||
public class SimpleAnimationRunner implements AnimationRunner {
|
public class SimpleAnimationRunner implements AnimationRunner {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.util.math;
|
package com.bartlomiejpluta.base.util.math;
|
||||||
|
|
||||||
import static java.lang.Math.max;
|
import static java.lang.Math.max;
|
||||||
import static java.lang.Math.min;
|
import static java.lang.Math.min;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.bartlomiejpluta.base.api.util.path;
|
package com.bartlomiejpluta.base.util.path;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Direction;
|
import com.bartlomiejpluta.base.api.move.Direction;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Movable;
|
import com.bartlomiejpluta.base.api.move.Movable;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.api.util.path;
|
package com.bartlomiejpluta.base.util.path;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.ai.NPC;
|
import com.bartlomiejpluta.base.api.ai.NPC;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Direction;
|
import com.bartlomiejpluta.base.api.move.Direction;
|
||||||
|
|
||||||
public class NPCPath extends Path<NPC> {
|
public class NPCPath extends Path<NPC> {
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.api.util.path;
|
package com.bartlomiejpluta.base.util.path;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.move.Direction;
|
import com.bartlomiejpluta.base.api.move.Direction;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Movable;
|
import com.bartlomiejpluta.base.api.move.Movable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.api.util.path;
|
package com.bartlomiejpluta.base.util.path;
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
import com.bartlomiejpluta.base.api.game.move.Movable;
|
import com.bartlomiejpluta.base.api.move.Movable;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.bartlomiejpluta.base.api.util.path;
|
package com.bartlomiejpluta.base.util.path;
|
||||||
|
|
||||||
public enum PathProgress {
|
public enum PathProgress {
|
||||||
ONGOING,
|
ONGOING,
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.bartlomiejpluta.base.util.path;
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer;
|
||||||
|
import com.bartlomiejpluta.base.api.move.Movable;
|
||||||
|
|
||||||
|
public interface PathSegment<T extends Movable> {
|
||||||
|
PathProgress perform(T movable, ObjectLayer layer, float dt);
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user