diff options
| author | ilotterytea <iltsu@alright.party> | 2024-11-04 16:32:00 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2024-11-04 16:32:00 +0500 |
| commit | 218f80d9e747637c3cb231ee64ff4a50f9161ece (patch) | |
| tree | 85f55edaef782a395acbd2baf00869be11f616d2 /core/src | |
| parent | 83c0f225c22c2b15c80af51c0d299726e0eb2994 (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.java | 29 |
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); } } |
