diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/animation/Animation.java b/api/src/main/java/com/bartlomiejpluta/base/api/animation/Animation.java index b3e4331c..27a9da1d 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/animation/Animation.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/animation/Animation.java @@ -3,11 +3,10 @@ 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 { +public interface Animation extends Movable, Renderable, Updatable { void setAnimationSpeed(float speed); diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/entity/Entity.java b/api/src/main/java/com/bartlomiejpluta/base/api/entity/Entity.java index 0a98a7db..44454c11 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/entity/Entity.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/entity/Entity.java @@ -4,10 +4,9 @@ import com.bartlomiejpluta.base.api.map.layer.object.ObjectLayer; import com.bartlomiejpluta.base.api.move.Direction; 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; -public interface Entity extends Placeable, Movable, Renderable, Updatable { +public interface Entity extends Movable, Renderable, Updatable { Direction getFaceDirection(); diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/move/Movable.java b/api/src/main/java/com/bartlomiejpluta/base/api/move/Movable.java index f2bf93d9..15111f08 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/move/Movable.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/move/Movable.java @@ -1,9 +1,10 @@ package com.bartlomiejpluta.base.api.move; +import com.bartlomiejpluta.base.internal.object.Placeable; import org.joml.Vector2fc; import org.joml.Vector2ic; -public interface Movable { +public interface Movable extends Placeable { void setStepSize(float x, float y); Vector2ic getCoordinates(); @@ -12,6 +13,8 @@ public interface Movable { void setCoordinates(int x, int y); + Vector2fc getPositionOffset(); + void setPositionOffset(Vector2fc offset); void setPositionOffset(float offsetX, float offsetY); diff --git a/api/src/main/java/com/bartlomiejpluta/base/lib/animation/AnimationDelegate.java b/api/src/main/java/com/bartlomiejpluta/base/lib/animation/AnimationDelegate.java index e3b676eb..9ffe7970 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/lib/animation/AnimationDelegate.java +++ b/api/src/main/java/com/bartlomiejpluta/base/lib/animation/AnimationDelegate.java @@ -170,6 +170,11 @@ public abstract class AnimationDelegate implements Animation { return animation.manhattanDistance(coordinates); } + @Override + public Vector2fc getPositionOffset() { + return animation.getPositionOffset(); + } + @Override public void setPositionOffset(Vector2fc offset) { animation.setPositionOffset(offset); diff --git a/api/src/main/java/com/bartlomiejpluta/base/lib/entity/EntityDelegate.java b/api/src/main/java/com/bartlomiejpluta/base/lib/entity/EntityDelegate.java index 7f5e2d2a..9bc26abb 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/lib/entity/EntityDelegate.java +++ b/api/src/main/java/com/bartlomiejpluta/base/lib/entity/EntityDelegate.java @@ -74,6 +74,11 @@ public abstract class EntityDelegate implements Entity { return entity.isMoving(); } + @Override + public Vector2fc getPositionOffset() { + return entity.getPositionOffset(); + } + @Override public void setPositionOffset(Vector2fc offset) { entity.setPositionOffset(offset); diff --git a/engine/src/main/java/com/bartlomiejpluta/base/engine/world/movement/MovableSprite.java b/engine/src/main/java/com/bartlomiejpluta/base/engine/world/movement/MovableSprite.java index 24c61a4e..d4250a7a 100644 --- a/engine/src/main/java/com/bartlomiejpluta/base/engine/world/movement/MovableSprite.java +++ b/engine/src/main/java/com/bartlomiejpluta/base/engine/world/movement/MovableSprite.java @@ -143,6 +143,11 @@ public abstract class MovableSprite extends AnimatedSprite implements Movable, U } } + @Override + public Vector2fc getPositionOffset() { + return positionOffset; + } + @Override public void setPositionOffset(Vector2fc offset) { this.positionOffset.x = offset.x();