diff options
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/player/DecalPlayer.java | 29 | ||||
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java | 3 |
2 files changed, 30 insertions, 2 deletions
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<TextureRegion> 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<TextureRegion> 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(); + } } diff --git a/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java b/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java index 65b2dde..58edbdf 100644 --- a/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java +++ b/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java @@ -220,7 +220,7 @@ public class GameScreen implements Screen, InputProcessor { } } - elapsedTime += delta; + elapsedTime += delta * decalPlayer.getClickStreak() / 10f; // Rendering the pet decals for (int i = 0; i < petDecals.size(); i++) { @@ -269,6 +269,7 @@ public class GameScreen implements Screen, InputProcessor { public void dispose() { giftbox.dispose(); stage.clear(); + decalPlayer.dispose(); } @Override |
