From ec018df49d3b87ff2304c72d21611575ba021a7a Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Fri, 25 Oct 2024 18:48:15 +0500 Subject: feat: many clicks speed up the rotation of pets --- .../kz/ilotterytea/maxon/player/DecalPlayer.java | 29 +++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'core/src/kz/ilotterytea/maxon/player') diff --git a/core/src/kz/ilotterytea/maxon/player/DecalPlayer.java b/core/src/kz/ilotterytea/maxon/player/DecalPlayer.java index 5c5256c..2fa97c8 100644 --- a/core/src/kz/ilotterytea/maxon/player/DecalPlayer.java +++ b/core/src/kz/ilotterytea/maxon/player/DecalPlayer.java @@ -9,18 +9,23 @@ import com.badlogic.gdx.math.Intersector; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.math.collision.BoundingBox; import com.badlogic.gdx.math.collision.Ray; +import com.badlogic.gdx.utils.Disposable; +import com.badlogic.gdx.utils.Timer; import kz.ilotterytea.maxon.MaxonGame; import kz.ilotterytea.maxon.utils.OsUtils; import java.util.ArrayList; -public class DecalPlayer { +public class DecalPlayer implements Disposable { private final ArrayList regions; private int regionIndex; private final Decal decal; private final BoundingBox box; private final Savegame savegame; + private int clickStreak; + private final Timer.Task delayTask; + public DecalPlayer(Savegame savegame, ArrayList regions) { this.savegame = savegame; @@ -44,6 +49,17 @@ public class DecalPlayer { Vector3 maxBox = new Vector3(position.x + width / 3, position.y + height / 3, position.z + width / 3); this.box = new BoundingBox(minBox, maxBox); + + clickStreak = 1; + this.delayTask = new Timer.Task() { + @Override + public void run() { + if (clickStreak == 1) return; + + clickStreak -= 1; + } + }; + Timer.schedule(delayTask, 0.5f, 0.5f); } public void render(Camera camera) { @@ -69,6 +85,8 @@ public class DecalPlayer { Sound sound = MaxonGame.getInstance().assetManager.get("sfx/player/purr.ogg", Sound.class); sound.play(); + + clickStreak++; } } @@ -89,4 +107,13 @@ public class DecalPlayer { public Decal getDecal() { return this.decal; } + + public int getClickStreak() { + return clickStreak; + } + + @Override + public void dispose() { + delayTask.cancel(); + } } -- cgit v1.2.3