Make Animations movable
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
package com.bartlomiejpluta.base.api.game.animation;
|
||||
|
||||
import com.bartlomiejpluta.base.api.game.entity.Movable;
|
||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
||||
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;
|
||||
import org.joml.Vector2ic;
|
||||
|
||||
public interface Animation extends Placeable, Renderable, Updatable {
|
||||
public interface Animation extends Placeable, Movable, Renderable, Updatable {
|
||||
|
||||
void setStepSize(float x, float y);
|
||||
|
||||
@@ -21,5 +24,11 @@ public interface Animation extends Placeable, Renderable, Updatable {
|
||||
|
||||
void setRepeat(Integer repeat);
|
||||
|
||||
void followPath(Path<Animation> path, boolean repeat);
|
||||
|
||||
void setSpeed(float speed);
|
||||
|
||||
void onAdd(Layer layer);
|
||||
|
||||
boolean finished();
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package com.bartlomiejpluta.base.api.game.animation;
|
||||
|
||||
import com.bartlomiejpluta.base.api.game.camera.Camera;
|
||||
import com.bartlomiejpluta.base.api.game.entity.Direction;
|
||||
import com.bartlomiejpluta.base.api.game.entity.Movement;
|
||||
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
|
||||
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 com.bartlomiejpluta.base.api.util.path.Path;
|
||||
import org.joml.Matrix4fc;
|
||||
import org.joml.Vector2fc;
|
||||
import org.joml.Vector2ic;
|
||||
@@ -140,6 +144,36 @@ public abstract class AnimationDelegate implements Animation {
|
||||
return animation.getModelMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Movement prepareMovement(Direction direction) {
|
||||
return animation.prepareMovement(direction);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Movement getMovement() {
|
||||
return animation.getMovement();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMoving() {
|
||||
return animation.isMoving();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void followPath(Path<Animation> path, boolean repeat) {
|
||||
animation.followPath(path, repeat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSpeed(float speed) {
|
||||
animation.setSpeed(speed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdd(Layer layer) {
|
||||
animation.onAdd(layer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
|
||||
animation.render(screen, camera, shaderManager);
|
||||
|
||||
Reference in New Issue
Block a user