summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2024-11-04 16:32:00 +0500
committerilotterytea <iltsu@alright.party>2024-11-04 16:32:00 +0500
commit218f80d9e747637c3cb231ee64ff4a50f9161ece (patch)
tree85f55edaef782a395acbd2baf00869be11f616d2 /core/src
parent83c0f225c22c2b15c80af51c0d299726e0eb2994 (diff)
feat: combine pets into one if their number exceeds 10 or more
Diffstat (limited to 'core/src')
-rw-r--r--core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java29
1 files changed, 27 insertions, 2 deletions
diff --git a/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java b/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java
index b43cba8..16d75b0 100644
--- a/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java
+++ b/core/src/kz/ilotterytea/maxon/screens/game/GameScreen.java
@@ -149,10 +149,35 @@ public class GameScreen implements Screen, InputProcessor {
}
int amount = savegame.getPurchasedPets().get(id);
+ int majorAmount = amount / 10;
+ int minorAmount = amount % 10;
+
+ Color color = switch (majorAmount % 10) {
+ case 1, 2 -> Color.BLUE;
+ case 3, 4 -> Color.PINK;
+ case 5, 6 -> Color.ORANGE;
+ case 7, 8 -> Color.GREEN;
+ case 9 -> Color.GRAY;
+ default -> Color.WHITE;
+ };
+
+ for (int i = 0; i < majorAmount; i++) {
+ Decal decal = pet.getDecal();
+ decal = Decal.newDecal(decal.getWidth(), decal.getHeight(), decal.getTextureRegion());
+ decal.setColor(color);
+
+ float multiplier = majorAmount * 0.1f;
+
+ decal.setScale(1.0f + multiplier);
+ decal.setY(decal.getY() + multiplier * 2.5f);
+
+ petDecals.add(decal);
+ }
- for (int i = 0; i < amount; i++) {
+ for (int i = 0; i < minorAmount; i++) {
Decal decal = pet.getDecal();
- petDecals.add(Decal.newDecal(decal.getWidth(), decal.getHeight(), decal.getTextureRegion()));
+ decal = Decal.newDecal(decal.getWidth(), decal.getHeight(), decal.getTextureRegion());
+ petDecals.add(decal);
}
}