summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2024-11-10 01:03:43 +0500
committerilotterytea <iltsu@alright.party>2024-11-10 01:03:43 +0500
commite72fbe4c431c65311fff0d596422237b2db89bde (patch)
treeed73bfb47c233261d545ff94863f10ec932e3b12
parentb987801a727a8d56cb93e68968ff8a4ee31b3879 (diff)
upd: slots are now adapted for mobile devices
-rw-r--r--assets/sprites/gui/ui.skin8
-rw-r--r--assets/sprites/minigames/slots/arbuz.pngbin22178 -> 86798 bytes
-rw-r--r--assets/sprites/minigames/slots/buter.pngbin22277 -> 87649 bytes
-rw-r--r--assets/sprites/minigames/slots/corn.pngbin21399 -> 82623 bytes
-rw-r--r--assets/sprites/minigames/slots/icecream.pngbin21388 -> 84240 bytes
-rw-r--r--assets/sprites/minigames/slots/kebab.pngbin20287 -> 76315 bytes
-rw-r--r--assets/sprites/minigames/slots/kochan.pngbin22827 -> 89272 bytes
-rw-r--r--assets/sprites/minigames/slots/onions.pngbin22142 -> 87372 bytes
-rw-r--r--assets/sprites/minigames/slots/title.pngbin0 -> 32812 bytes
-rw-r--r--assets/sprites/minigames/slots/treat.pngbin21980 -> 84226 bytes
-rw-r--r--core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt98
11 files changed, 81 insertions, 25 deletions
diff --git a/assets/sprites/gui/ui.skin b/assets/sprites/gui/ui.skin
index 2ff8039..3300ccc 100644
--- a/assets/sprites/gui/ui.skin
+++ b/assets/sprites/gui/ui.skin
@@ -213,6 +213,10 @@
font: slots,
fontColor: white
},
+ slotsMobile: {
+ parent: slots,
+ font: defaultMobile
+ },
credits_name: {
font: credits,
fontColor: white
@@ -235,6 +239,10 @@
font: default,
fontColor: white,
background: button_disabled
+ },
+ defaultMobile: {
+ parent: default,
+ font: defaultMobile
}
},
com.badlogic.gdx.scenes.scene2d.ui.TextTooltip$TextTooltipStyle: {
diff --git a/assets/sprites/minigames/slots/arbuz.png b/assets/sprites/minigames/slots/arbuz.png
index b8616ed..3665276 100644
--- a/assets/sprites/minigames/slots/arbuz.png
+++ b/assets/sprites/minigames/slots/arbuz.png
Binary files differ
diff --git a/assets/sprites/minigames/slots/buter.png b/assets/sprites/minigames/slots/buter.png
index c6c789a..9d07b9b 100644
--- a/assets/sprites/minigames/slots/buter.png
+++ b/assets/sprites/minigames/slots/buter.png
Binary files differ
diff --git a/assets/sprites/minigames/slots/corn.png b/assets/sprites/minigames/slots/corn.png
index 60e1195..689047a 100644
--- a/assets/sprites/minigames/slots/corn.png
+++ b/assets/sprites/minigames/slots/corn.png
Binary files differ
diff --git a/assets/sprites/minigames/slots/icecream.png b/assets/sprites/minigames/slots/icecream.png
index 83e93c8..db57a6b 100644
--- a/assets/sprites/minigames/slots/icecream.png
+++ b/assets/sprites/minigames/slots/icecream.png
Binary files differ
diff --git a/assets/sprites/minigames/slots/kebab.png b/assets/sprites/minigames/slots/kebab.png
index 696514b..d14b808 100644
--- a/assets/sprites/minigames/slots/kebab.png
+++ b/assets/sprites/minigames/slots/kebab.png
Binary files differ
diff --git a/assets/sprites/minigames/slots/kochan.png b/assets/sprites/minigames/slots/kochan.png
index 371770c..9b5e8b8 100644
--- a/assets/sprites/minigames/slots/kochan.png
+++ b/assets/sprites/minigames/slots/kochan.png
Binary files differ
diff --git a/assets/sprites/minigames/slots/onions.png b/assets/sprites/minigames/slots/onions.png
index c05e633..ba80eb3 100644
--- a/assets/sprites/minigames/slots/onions.png
+++ b/assets/sprites/minigames/slots/onions.png
Binary files differ
diff --git a/assets/sprites/minigames/slots/title.png b/assets/sprites/minigames/slots/title.png
new file mode 100644
index 0000000..0e25641
--- /dev/null
+++ b/assets/sprites/minigames/slots/title.png
Binary files differ
diff --git a/assets/sprites/minigames/slots/treat.png b/assets/sprites/minigames/slots/treat.png
index 66a37a0..4da5f4f 100644
--- a/assets/sprites/minigames/slots/treat.png
+++ b/assets/sprites/minigames/slots/treat.png
Binary files differ
diff --git a/core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt b/core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt
index 27cfb03..7d1fa36 100644
--- a/core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt
+++ b/core/src/kz/ilotterytea/maxon/screens/SlotsMinigameScreen.kt
@@ -22,11 +22,14 @@ import com.badlogic.gdx.utils.Align
import com.badlogic.gdx.utils.Timer
import com.badlogic.gdx.utils.Timer.Task
import com.badlogic.gdx.utils.viewport.FitViewport
+import com.badlogic.gdx.utils.viewport.ScreenViewport
import kz.ilotterytea.maxon.MaxonGame
+import kz.ilotterytea.maxon.constants.SettingsConstants
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.OsUtils
import kz.ilotterytea.maxon.utils.formatters.NumberFormatter
import kotlin.math.roundToInt
import kotlin.math.roundToLong
@@ -52,7 +55,11 @@ class SlotsMinigameScreen : Screen {
private val savegame = Savegame.getInstance()
private val game = MaxonGame.getInstance()
- private val stage = Stage(FitViewport(800f, 600f))
+ private val stage = Stage(if (OsUtils.isMobile) {
+ ScreenViewport()
+ } else {
+ FitViewport(800f, 600f)
+ })
private var spinButton: TextButton? = null
private var exitButton: TextButton? = null
@@ -90,16 +97,22 @@ class SlotsMinigameScreen : Screen {
table.setFillParent(true)
table.align(Align.center)
+ if (OsUtils.isMobile) table.pad(64f)
+
stage.addActor(table)
// Background
- val background = Image(game.assetManager.get("sprites/minigames/slots/background.png", Texture::class.java))
- background.zIndex = 2
+ if (OsUtils.isPC) {
+ val background = Image(game.assetManager.get("sprites/minigames/slots/background.png", Texture::class.java))
+ background.zIndex = 2
+
+ table.add(background)
+ }
- table.add(background)
+ var styleName = if (OsUtils.isMobile) "defaultMobile" else "default"
// Buttons
- spinButton = TextButton(game.locale.getLine(LineId.MinigameSlotsSpinbutton), skin)
+ spinButton = TextButton(game.locale.getLine(LineId.MinigameSlotsSpinbutton), skin, styleName)
spinButton?.isDisabled = true
spinButton?.width = 420f
spinButton?.setPosition(62f, 60f)
@@ -110,9 +123,8 @@ class SlotsMinigameScreen : Screen {
restart()
}
})
- stage.addActor(spinButton)
- exitButton = TextButton(game.locale.getLine(LineId.MinigameSlotsExitbutton), skin)
+ exitButton = TextButton(game.locale.getLine(LineId.MinigameSlotsExitbutton), skin, styleName)
exitButton?.setPosition(62f, stage.height / 2f - 150f)
exitButton?.addListener(object : ClickListener() {
override fun clicked(event: InputEvent?, x: Float, y: Float) {
@@ -122,30 +134,26 @@ class SlotsMinigameScreen : Screen {
}
})
- stage.addActor(exitButton)
-
// Labels
- prizeLabel = Label("", skin, "slots")
+ styleName = if (OsUtils.isMobile) "slotsMobile" else "slots"
+
+ prizeLabel = Label("", skin, styleName)
prizeLabel?.setAlignment(Align.center)
prizeLabel?.setPosition(stage.width / 2f - 180f, stage.height / 2f + 80f)
- stage.addActor(prizeLabel)
val moneyIcon = Image(game.assetManager.get("sprites/gui/player_icons.atlas", TextureAtlas::class.java).findRegion("points"))
moneyIcon.setSize(20f, 20f)
moneyIcon.setPosition(stage.width / 2f + 60f, stage.height / 2f - 180f)
- stage.addActor(moneyIcon)
- moneyLabel = Label(NumberFormatter.format(savegame.money), skin, "slots")
+ moneyLabel = Label(NumberFormatter.format(savegame.money), skin, styleName)
moneyLabel?.setAlignment(Align.right)
moneyLabel?.setPosition(stage.width / 2f, stage.height / 2f - 180f)
- stage.addActor(moneyLabel)
- val stakeLabel = Label(game.locale.getLine(LineId.MinigameSlotsBet), skin, "slots")
+ val stakeLabel = Label(game.locale.getLine(LineId.MinigameSlotsBet), skin, styleName)
stakeLabel.setAlignment(Align.center)
stakeLabel.setPosition(stage.width / 2f - 40f, stage.height / 2f - 100f)
- stage.addActor(stakeLabel)
- stakeField = TextField("", skin)
+ stakeField = TextField("", skin, if (OsUtils.isMobile) "defaultMobile" else "default")
stakeField?.messageText = "---"
stakeField?.setTextFieldFilter { _, c -> c.toString().matches(Regex("^[0-9]*\$")) }
stakeField?.addListener(object : ChangeListener() {
@@ -169,13 +177,12 @@ class SlotsMinigameScreen : Screen {
})
stakeField?.setPosition(stage.width / 2f - 70f, stage.height / 2f - 150f)
- stage.addActor(stakeField)
-
// Slot columns
- columns.x = 62f
- columns.y = stage.height / 2f
- columns.width = 424f
- stage.addActor(columns)
+ if (OsUtils.isPC) {
+ columns.x = 62f
+ columns.y = stage.height / 2f
+ columns.width = 424f
+ }
for (i in 0..2) {
columnSlots.add(Slot.values()[Random.nextInt(0, Slot.values().size)])
@@ -213,12 +220,51 @@ class SlotsMinigameScreen : Screen {
Timer.schedule(multiplierTask, 0.1f, 0.1f)
+ if (OsUtils.isMobile) {
+ val title = Image(game.assetManager.get("sprites/minigames/slots/title.png", Texture::class.java))
+ table.add(title).growX().height(title.height * (this.stage.width - 64f) / title.width).padBottom(64f).row()
+
+ table.add(prizeLabel).expandX().padBottom(64f).row()
+
+ table.add(columns).growX().padBottom(64f).row()
+ columns.align(Align.center)
+
+ table.add(stakeLabel).growX().padBottom(32f).row()
+ stakeLabel.setAlignment(Align.right)
+
+ val table2 = Table()
+ table2.add(exitButton).align(Align.left).expandX()
+ table2.add(stakeField).align(Align.right).minWidth(300f)
+ table.add(table2).growX().padBottom(32f).row()
+
+ val table3 = Table()
+ table3.align(Align.right)
+ table3.add(moneyLabel).padRight(16f)
+ table3.add(moneyIcon)
+ table.add(table3).growX().padBottom(64f).row()
+
+ table.add(spinButton).growX()
+ } else {
+ stage.addActor(spinButton)
+ stage.addActor(exitButton)
+ stage.addActor(prizeLabel)
+ stage.addActor(moneyIcon)
+ stage.addActor(moneyLabel)
+ stage.addActor(stakeLabel)
+ stage.addActor(stakeField)
+ stage.addActor(columns)
+ }
+
Gdx.input.inputProcessor = stage
}
override fun render(delta: Float) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT or GL20.GL_DEPTH_BUFFER_BIT)
- Gdx.gl.glClearColor(0f, 0f, 0f, 1f)
+ if (OsUtils.isMobile) {
+ Gdx.gl.glClearColor(0.12f, 0.12f, 0.15f, 1f)
+ } else {
+ Gdx.gl.glClearColor(0f, 0f, 0f, 1f)
+ }
stage.act(delta)
stage.draw()
@@ -254,10 +300,12 @@ class SlotsMinigameScreen : Screen {
columnSlots.clear()
columns.clear()
+ val size = (if (OsUtils.isMobile) 300f else 100f) * game.prefs.getFloat("guiScale", SettingsConstants.UI_DEFAULT_SCALE)
+
for (x in array) {
columnSlots.add(x)
columns.add(SlotImage(x, game.assetManager))
- .size(100f, 100f)
+ .size(size, size)
.expandX()
}
}