diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/map/layer/object/MapPin.java b/api/src/main/java/com/bartlomiejpluta/base/api/map/layer/object/MapPin.java index f1359b45..fadfad46 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/map/layer/object/MapPin.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/map/layer/object/MapPin.java @@ -3,6 +3,8 @@ package com.bartlomiejpluta.base.api.map.layer.object; import lombok.Builder; import lombok.RequiredArgsConstructor; import lombok.Value; +import org.joml.Vector2i; +import org.joml.Vector2ic; @Value @Builder @@ -11,4 +13,8 @@ public class MapPin { int layer; int x; int y; + + public Vector2ic toCoordinates() { + return new Vector2i(x, y); + } } diff --git a/api/src/main/java/com/bartlomiejpluta/base/lib/animation/AnimationRunner.java b/api/src/main/java/com/bartlomiejpluta/base/lib/animation/AnimationRunner.java index 456c3a85..6b876f96 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/lib/animation/AnimationRunner.java +++ b/api/src/main/java/com/bartlomiejpluta/base/lib/animation/AnimationRunner.java @@ -1,8 +1,10 @@ package com.bartlomiejpluta.base.lib.animation; 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.move.Movable; +import lombok.NonNull; import org.joml.Vector2fc; import java.util.concurrent.CompletableFuture; @@ -11,4 +13,20 @@ public interface AnimationRunner { CompletableFuture run(Context context, Layer layer, Vector2fc origin); CompletableFuture run(Context context, Layer layer, Movable origin); + + default CompletableFuture 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); + } }