summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt14
-rw-r--r--core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java25
-rw-r--r--core/src/kz/ilotterytea/maxon/tasks/MultiplierTask.java37
3 files changed, 50 insertions, 26 deletions
diff --git a/core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt b/core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt
index 4f489ac..54bdfea 100644
--- a/core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt
+++ b/core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt
@@ -26,6 +26,7 @@ import kz.ilotterytea.maxon.MaxonGame
import kz.ilotterytea.maxon.localization.LineId
import kz.ilotterytea.maxon.player.Savegame
import kz.ilotterytea.maxon.screens.game.GameScreen
+import kz.ilotterytea.maxon.tasks.MultiplierTask
import kz.ilotterytea.maxon.utils.formatters.NumberFormatter
import kotlin.math.roundToInt
import kotlin.math.roundToLong
@@ -76,6 +77,8 @@ class SlotsMinigameScreen : Screen {
private val audioLoop: Music = game.assetManager.get("mus/minigames/slots/slots_loop.mp3")
+ private val multiplierTask = MultiplierTask(savegame)
+
override fun show() {
// Skins
val skin = game.assetManager.get("sprites/gui/ui.skin", Skin::class.java)
@@ -205,6 +208,8 @@ class SlotsMinigameScreen : Screen {
audioLoop.isLooping = true
+ Timer.schedule(multiplierTask, 0.1f, 0.1f)
+
Gdx.input.inputProcessor = stage
}
@@ -214,6 +219,8 @@ class SlotsMinigameScreen : Screen {
stage.act(delta)
stage.draw()
+
+ moneyLabel?.setText(NumberFormatter.format(savegame.money, false))
}
private fun reRoll() {
@@ -325,7 +332,7 @@ class SlotsMinigameScreen : Screen {
val prizeText = if (prize == 0.0) {
game.locale.getLine(LineId.MinigameSlotsNothing)
} else {
- game.locale.getFormattedLine(LineId.MinigameSlotsPrize, NumberFormatter.format(prize))
+ game.locale.getFormattedLine(LineId.MinigameSlotsPrize, NumberFormatter.format(prize, false))
}
prizeLabel?.setText(prizeText)
@@ -336,13 +343,13 @@ class SlotsMinigameScreen : Screen {
val stakeText = if (savegame.money.roundToInt() <= 0) {
"---"
} else {
- NumberFormatter.format(savegame.money)
+ savegame.money.roundToInt().toString()
}
stakeField?.text = stakeText
}
- moneyLabel?.setText(NumberFormatter.format(savegame.money))
+ moneyLabel?.setText(NumberFormatter.format(savegame.money, false))
}
private fun disableSlotMachineIfNoStake() {
@@ -400,6 +407,7 @@ class SlotsMinigameScreen : Screen {
}
tasks.clear()
+ multiplierTask.cancel()
stage.dispose()
audioLoop.stop()
}
diff --git a/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java b/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java
index be6f840..35cd821 100644
--- a/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java
+++ b/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java
@@ -25,6 +25,7 @@ import kz.ilotterytea.maxon.player.DecalPlayer;
import kz.ilotterytea.maxon.player.Savegame;
import kz.ilotterytea.maxon.screens.MenuScreen;
import kz.ilotterytea.maxon.screens.game.shop.ShopUI;
+import kz.ilotterytea.maxon.tasks.MultiplierTask;
import kz.ilotterytea.maxon.ui.*;
import kz.ilotterytea.maxon.ui.game.QuickActionsTable;
import kz.ilotterytea.maxon.utils.OsUtils;
@@ -105,29 +106,7 @@ public class GameScreen implements Screen, InputProcessor {
}, 10, 10));
// Add a 1/10th multiplier to the money every 1/10th of a second.
- tasks.add(Timer.schedule(new Timer.Task() {
- @Override
- public void run() {
- double multiplier = 0.0f;
-
- for (String id : savegame.getPurchasedPets().keySet()) {
- Pet pet = game.getPetManager().getPet(id);
-
- if (pet == null) {
- continue;
- }
-
- int amount = savegame.getPurchasedPets().get(id);
-
- double m = pet.getMultiplier() * amount;
- multiplier += m;
- }
-
- multiplier /= 10f;
-
- savegame.increaseMoney(multiplier);
- }
- }, 0.1f, 0.1f));
+ tasks.add(Timer.schedule(new MultiplierTask(savegame), 0.1f, 0.1f));
camera.update();
render(Gdx.graphics.getDeltaTime());
diff --git a/core/src/kz/ilotterytea/maxon/tasks/MultiplierTask.java b/core/src/kz/ilotterytea/maxon/tasks/MultiplierTask.java
new file mode 100644
index 0000000..4d52388
--- /dev/null
+++ b/core/src/kz/ilotterytea/maxon/tasks/MultiplierTask.java
@@ -0,0 +1,37 @@
+package kz.ilotterytea.maxon.tasks;
+
+import com.badlogic.gdx.utils.Timer;
+import kz.ilotterytea.maxon.MaxonGame;
+import kz.ilotterytea.maxon.pets.Pet;
+import kz.ilotterytea.maxon.player.Savegame;
+
+public class MultiplierTask extends Timer.Task {
+ private final MaxonGame game = MaxonGame.getInstance();
+ private final Savegame savegame;
+
+ public MultiplierTask(Savegame savegame) {
+ this.savegame = savegame;
+ }
+
+ @Override
+ public void run() {
+ double multiplier = 0.0f;
+
+ for (String id : savegame.getPurchasedPets().keySet()) {
+ Pet pet = game.getPetManager().getPet(id);
+
+ if (pet == null) {
+ continue;
+ }
+
+ int amount = savegame.getPurchasedPets().get(id);
+
+ double m = pet.getMultiplier() * amount;
+ multiplier += m;
+ }
+
+ multiplier /= 10f;
+
+ savegame.increaseMoney(multiplier);
+ }
+}