summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/kz/ilotterytea/maxon/player/DecalPlayer.java29
-rw-r--r--core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java3
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