Extract coordinates-related code from Movable to Locationable interface

This commit is contained in:
2022-08-22 19:53:29 +02:00
parent b5f13b95b2
commit 439ec984a3
5 changed files with 142 additions and 116 deletions

View File

@@ -0,0 +1,25 @@
package com.bartlomiejpluta.base.api.location;
import com.bartlomiejpluta.base.internal.object.Placeable;
import org.joml.Vector2fc;
import org.joml.Vector2ic;
public interface Locationable extends Placeable {
void setStepSize(float x, float y);
Vector2ic getCoordinates();
void setCoordinates(Vector2ic coordinates);
void setCoordinates(int x, int y);
Vector2fc getPositionOffset();
void setPositionOffset(Vector2fc offset);
void setPositionOffset(float offsetX, float offsetY);
int chebyshevDistance(Vector2ic coordinates);
int manhattanDistance(Vector2ic coordinates);
}

View File

@@ -1,24 +1,8 @@
package com.bartlomiejpluta.base.api.move;
import com.bartlomiejpluta.base.internal.object.Placeable;
import org.joml.Vector2fc;
import org.joml.Vector2ic;
public interface Movable extends Placeable {
void setStepSize(float x, float y);
Vector2ic getCoordinates();
void setCoordinates(Vector2ic coordinates);
void setCoordinates(int x, int y);
Vector2fc getPositionOffset();
void setPositionOffset(Vector2fc offset);
void setPositionOffset(float offsetX, float offsetY);
import com.bartlomiejpluta.base.api.location.Locationable;
public interface Movable extends Locationable {
void setSpeed(float speed);
Movement prepareMovement(Direction direction);
@@ -27,10 +11,6 @@ public interface Movable extends Placeable {
boolean isMoving();
int chebyshevDistance(Vector2ic coordinates);
int manhattanDistance(Vector2ic coordinates);
boolean move(Movement movement);
void abortMove();