Add some additional methods to AnimationRunner and MapPin

This commit is contained in:
2023-11-02 23:03:15 +01:00
parent 31029795d4
commit 6e04904151
2 changed files with 24 additions and 0 deletions

View File

@@ -3,6 +3,8 @@ package com.bartlomiejpluta.base.api.map.layer.object;
import lombok.Builder; import lombok.Builder;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.Value; import lombok.Value;
import org.joml.Vector2i;
import org.joml.Vector2ic;
@Value @Value
@Builder @Builder
@@ -11,4 +13,8 @@ public class MapPin {
int layer; int layer;
int x; int x;
int y; int y;
public Vector2ic toCoordinates() {
return new Vector2i(x, y);
}
} }

View File

@@ -1,8 +1,10 @@
package com.bartlomiejpluta.base.lib.animation; package com.bartlomiejpluta.base.lib.animation;
import com.bartlomiejpluta.base.api.context.Context; import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.entity.Entity;
import com.bartlomiejpluta.base.api.map.layer.base.Layer; import com.bartlomiejpluta.base.api.map.layer.base.Layer;
import com.bartlomiejpluta.base.api.move.Movable; import com.bartlomiejpluta.base.api.move.Movable;
import lombok.NonNull;
import org.joml.Vector2fc; import org.joml.Vector2fc;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
@@ -11,4 +13,20 @@ public interface AnimationRunner {
CompletableFuture<Void> run(Context context, Layer layer, Vector2fc origin); CompletableFuture<Void> run(Context context, Layer layer, Vector2fc origin);
CompletableFuture<Void> run(Context context, Layer layer, Movable origin); CompletableFuture<Void> run(Context context, Layer layer, Movable origin);
default CompletableFuture<Void> run(Context context, Entity entity) {
return run(context, entity.getLayer(), entity.getPosition());
}
static SimpleAnimationRunner simple(@NonNull String animationUid) {
return new SimpleAnimationRunner(animationUid);
}
static RandomAnimationsRunner random(int count) {
return new RandomAnimationsRunner(count);
}
static BulletAnimationRunner bullet(@NonNull String animationUid) {
return new BulletAnimationRunner(animationUid);
}
} }