Extract some interfaces from :engine to :api
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package com.bartlomiejpluta.base.api.context;
|
||||
package com.bartlomiejpluta.base.api.game.context;
|
||||
|
||||
import com.bartlomiejpluta.base.api.entity.Entity;
|
||||
import com.bartlomiejpluta.base.api.game.entity.Entity;
|
||||
import org.joml.Vector2f;
|
||||
|
||||
public interface Context {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.bartlomiejpluta.base.api.entity;
|
||||
package com.bartlomiejpluta.base.api.game.entity;
|
||||
|
||||
import org.joml.Vector2i;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.bartlomiejpluta.base.api.entity;
|
||||
package com.bartlomiejpluta.base.api.game.entity;
|
||||
|
||||
import org.joml.Vector2f;
|
||||
import org.joml.Vector2i;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.bartlomiejpluta.base.api.entity;
|
||||
package com.bartlomiejpluta.base.api.game.entity;
|
||||
|
||||
|
||||
import org.joml.Vector2i;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.bartlomiejpluta.base.api.input;
|
||||
package com.bartlomiejpluta.base.api.game.input;
|
||||
|
||||
public enum Key {
|
||||
KEY_SPACE,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.bartlomiejpluta.base.api.input;
|
||||
package com.bartlomiejpluta.base.api.game.input;
|
||||
|
||||
public interface Keyboard {
|
||||
boolean isKeyPressed(Key key);
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.bartlomiejpluta.base.api.map;
|
||||
package com.bartlomiejpluta.base.api.game.map;
|
||||
|
||||
import com.bartlomiejpluta.base.api.entity.Entity;
|
||||
import com.bartlomiejpluta.base.api.entity.Movement;
|
||||
import com.bartlomiejpluta.base.api.game.entity.Entity;
|
||||
import com.bartlomiejpluta.base.api.game.entity.Movement;
|
||||
import org.joml.Vector2f;
|
||||
|
||||
public interface GameMap {
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.bartlomiejpluta.base.api.map;
|
||||
package com.bartlomiejpluta.base.api.game.map;
|
||||
|
||||
import com.bartlomiejpluta.base.api.context.Context;
|
||||
import com.bartlomiejpluta.base.api.input.Keyboard;
|
||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
||||
import com.bartlomiejpluta.base.api.game.input.Keyboard;
|
||||
|
||||
public interface MapHandler {
|
||||
void init(Context context, GameMap map);
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.bartlomiejpluta.base.api.map;
|
||||
package com.bartlomiejpluta.base.api.game.map;
|
||||
|
||||
public enum PassageAbility {
|
||||
BLOCK,
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.bartlomiejpluta.base.api.game.runner;
|
||||
|
||||
import com.bartlomiejpluta.base.api.game.context.Context;
|
||||
|
||||
public interface GameRunner {
|
||||
void init(Context context);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.bartlomiejpluta.base.api.internal.camera;
|
||||
|
||||
import com.bartlomiejpluta.base.api.internal.object.Placeable;
|
||||
import com.bartlomiejpluta.base.api.internal.render.ShaderManager;
|
||||
import com.bartlomiejpluta.base.api.internal.window.Window;
|
||||
import org.joml.Matrix4f;
|
||||
|
||||
public interface Camera extends Placeable {
|
||||
Matrix4f computeViewModelMatrix(Matrix4f modelMatrix);
|
||||
|
||||
void render(Window window, ShaderManager shaderManager);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.bartlomiejpluta.base.api.internal.gc;
|
||||
|
||||
public interface Cleanable {
|
||||
void cleanUp();
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.bartlomiejpluta.base.api.internal.gc;
|
||||
|
||||
public interface Disposable {
|
||||
void dispose();
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.bartlomiejpluta.base.api.internal.logic;
|
||||
|
||||
public interface Updatable {
|
||||
void update(float dt);
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.bartlomiejpluta.base.api.internal.object;
|
||||
|
||||
import org.joml.Matrix4f;
|
||||
import org.joml.Vector2f;
|
||||
|
||||
public interface Placeable {
|
||||
Vector2f getPosition();
|
||||
void setPosition(float x, float y);
|
||||
void setPosition(Vector2f position);
|
||||
void movePosition(float x, float y);
|
||||
void movePosition(Vector2f position);
|
||||
|
||||
float getRotation();
|
||||
void setRotation(float rotation);
|
||||
void moveRotation(float rotation);
|
||||
|
||||
float getScaleX();
|
||||
void setScaleX(float scale);
|
||||
|
||||
float getScaleY();
|
||||
void setScaleY(float scale);
|
||||
|
||||
void setScale(float scale);
|
||||
void setScale(float scaleX, float scaleY);
|
||||
|
||||
Matrix4f getModelMatrix();
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.bartlomiejpluta.base.api.internal.render;
|
||||
|
||||
import com.bartlomiejpluta.base.api.internal.camera.Camera;
|
||||
import com.bartlomiejpluta.base.api.internal.window.Window;
|
||||
|
||||
public interface Renderable {
|
||||
void render(Window window, Camera camera, ShaderManager shaderManager);
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.bartlomiejpluta.base.api.internal.render;
|
||||
|
||||
import com.bartlomiejpluta.base.api.internal.gc.Cleanable;
|
||||
import org.joml.*;
|
||||
|
||||
public interface ShaderManager extends Cleanable {
|
||||
ShaderManager createShader(String programName, String vertexShaderFilename, String fragmentShaderFilename);
|
||||
|
||||
ShaderManager selectShader(String programName);
|
||||
|
||||
ShaderManager useSelectedShader();
|
||||
|
||||
ShaderManager detachCurrentShader();
|
||||
|
||||
ShaderManager createUniform(String uniformName);
|
||||
|
||||
ShaderManager createUniform(String uniformName, Uniform uniform);
|
||||
|
||||
ShaderManager createUniforms(String uniformName, int size);
|
||||
|
||||
ShaderManager createUniforms(String uniformName, int size, Uniform uniform);
|
||||
|
||||
ShaderManager setUniform(String uniformName, int value);
|
||||
|
||||
ShaderManager setUniform(String uniformName, boolean value);
|
||||
|
||||
ShaderManager setUniform(String uniformName, float value);
|
||||
|
||||
ShaderManager setUniform(String uniformName, Vector2f value);
|
||||
|
||||
ShaderManager setUniform(String uniformName, Vector3f value);
|
||||
|
||||
ShaderManager setUniform(String uniformName, Vector4f value);
|
||||
|
||||
ShaderManager setUniform(String uniformName, Matrix3f value);
|
||||
|
||||
ShaderManager setUniform(String uniformName, Matrix4f value);
|
||||
|
||||
ShaderManager setUniform(String uniformName, Uniform uniform);
|
||||
|
||||
ShaderManager setUniform(String uniformName, int index, Uniform uniform);
|
||||
|
||||
ShaderManager setUniforms(String uniformName, Uniform[] uniforms);
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.bartlomiejpluta.base.api.internal.render;
|
||||
|
||||
import com.bartlomiejpluta.base.api.internal.gc.Disposable;
|
||||
import org.joml.*;
|
||||
|
||||
public interface ShaderProgram extends Disposable {
|
||||
void createUniform(String uniformName);
|
||||
|
||||
void createUniform(String uniformName, Uniform uniform);
|
||||
|
||||
void createUniforms(String uniformName, int size);
|
||||
|
||||
void createUniforms(String uniformName, int size, Uniform uniform);
|
||||
|
||||
void setUniform(String uniformName, int value);
|
||||
|
||||
void setUniform(String uniformName, boolean value);
|
||||
|
||||
void setUniform(String uniformName, float value);
|
||||
|
||||
void setUniform(String uniformName, Vector2f value);
|
||||
|
||||
void setUniform(String uniformName, Vector3f value);
|
||||
|
||||
void setUniform(String uniformName, Vector4f value);
|
||||
|
||||
void setUniform(String uniformName, Matrix3f value);
|
||||
|
||||
void setUniform(String uniformName, Matrix4f value);
|
||||
|
||||
void setUniform(String uniformName, Uniform uniform);
|
||||
|
||||
void setUniform(String uniformName, int index, Uniform uniform);
|
||||
|
||||
void setUniforms(String uniformName, Uniform[] uniforms);
|
||||
|
||||
void use();
|
||||
|
||||
void detach();
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.bartlomiejpluta.base.api.internal.render;
|
||||
|
||||
public interface Uniform {
|
||||
void createUniform(ShaderProgram shaderProgram, String uniformName);
|
||||
|
||||
void setUniform(ShaderProgram shaderProgram, String uniformName);
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.bartlomiejpluta.base.api.internal.window;
|
||||
|
||||
import org.joml.Vector2f;
|
||||
|
||||
public interface Window {
|
||||
void init();
|
||||
|
||||
int getWidth();
|
||||
|
||||
int getHeight();
|
||||
|
||||
Vector2f getSize();
|
||||
|
||||
boolean isResized();
|
||||
|
||||
void setResized(boolean resized);
|
||||
|
||||
boolean shouldClose();
|
||||
|
||||
boolean isKeyPressed(int keyCode);
|
||||
|
||||
void update();
|
||||
|
||||
void clear(float r, float g, float b, float alpha);
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.bartlomiejpluta.base.api.runner;
|
||||
|
||||
import com.bartlomiejpluta.base.api.context.Context;
|
||||
|
||||
public interface GameRunner {
|
||||
void init(Context context);
|
||||
}
|
||||
Reference in New Issue
Block a user