summaryrefslogtreecommitdiff
path: root/core/src/com/ilotterytea/maxoning/ui
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2022-12-09 19:15:55 +0600
committerilotterytea <iltsu@alright.party>2022-12-09 19:15:55 +0600
commit07381c027833b8f170c893a1fe7cb7a074b67437 (patch)
tree4275d7155cd326cd783fbe83ec31f6d564d8970f /core/src/com/ilotterytea/maxoning/ui
parentbd5cbc55f5daacca1936cb4c4da2200dba49737d (diff)
ещё немножко и доработаю менюе
Diffstat (limited to 'core/src/com/ilotterytea/maxoning/ui')
-rw-r--r--core/src/com/ilotterytea/maxoning/ui/SaveGameWidget.java89
-rw-r--r--core/src/com/ilotterytea/maxoning/ui/SavegameInfo.kt124
2 files changed, 75 insertions, 138 deletions
diff --git a/core/src/com/ilotterytea/maxoning/ui/SaveGameWidget.java b/core/src/com/ilotterytea/maxoning/ui/SaveGameWidget.java
deleted file mode 100644
index e52d1a3..0000000
--- a/core/src/com/ilotterytea/maxoning/ui/SaveGameWidget.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.ilotterytea.maxoning.ui;
-
-
-import com.badlogic.gdx.graphics.Color;
-import com.badlogic.gdx.scenes.scene2d.ui.*;
-import com.badlogic.gdx.utils.Align;
-import com.badlogic.gdx.utils.Null;
-import com.ilotterytea.maxoning.player.MaxonSavegame;
-import com.ilotterytea.maxoning.utils.formatters.NumberFormatter;
-
-public class SaveGameWidget extends Button {
- public SaveGameWidget(
- Skin skin,
- @Null MaxonSavegame sav
- ) {
- // Setting the stack:
- super(skin, "slot");
-
- // // // Save slot data:
- // // Info row:
- Table infoTable = new Table();
-
- // Top left label (name):
- Label topleftLabel = new Label((sav != null) ? sav.name : "[EMPTY]", skin);
- topleftLabel.setAlignment(Align.left);
- infoTable.add(topleftLabel).width(256f);
-
- // Top right label (elapsed time):
- String time = "--:--";
-
- if (sav != null) {
- long h = sav.elapsedTime / 1000 / 60 / 60;
- long m = sav.elapsedTime / 1000 / 60;
-
- time = String.format(
- "%s:%s",
- ((h < 10) ? "0" : "") + h,
- ((m < 10) ? "0" : "") + m
- );
- }
-
- Label toprightLabel = new Label(
- time,
- skin
- );
- toprightLabel.setAlignment(Align.right);
- infoTable.add(toprightLabel).width(256f);
-
- // // Description row:
- Table descTable = new Table();
-
- // Bottom left label (purchased items):
- Label bottomleftLabel = new Label(
- String.format(
- "%s purchased items",
- (sav != null) ? sav.inv.size() : "?"
- ),
- skin
- );
- bottomleftLabel.setAlignment(Align.left);
- descTable.add(bottomleftLabel).width(256f);
-
- // Bottom right label (points/multiplier):
- Label pointsLabel = new Label(
- String.format(
- "%s$/x%s",
- (sav != null) ? NumberFormatter.format(sav.points) : "---",
- (sav != null) ? NumberFormatter.format(sav.multiplier) : "0"
- ),
- skin
- );
- pointsLabel.setAlignment(Align.right);
- descTable.add(pointsLabel).width(256f);
-
- // Adding the tables to main table:
- Table summaryTable = new Table();
- summaryTable.add(infoTable).pad(5f).row();
- summaryTable.add(descTable).pad(5f).row();
-
- if (sav == null) {
- topleftLabel.setColor(Color.DARK_GRAY);
- toprightLabel.setColor(Color.DARK_GRAY);
- bottomleftLabel.setColor(Color.DARK_GRAY);
- pointsLabel.setColor(Color.DARK_GRAY);
- }
-
- super.add(summaryTable);
- }
-}
diff --git a/core/src/com/ilotterytea/maxoning/ui/SavegameInfo.kt b/core/src/com/ilotterytea/maxoning/ui/SavegameInfo.kt
index df4936d..e210ca8 100644
--- a/core/src/com/ilotterytea/maxoning/ui/SavegameInfo.kt
+++ b/core/src/com/ilotterytea/maxoning/ui/SavegameInfo.kt
@@ -17,7 +17,7 @@ import com.ilotterytea.maxoning.utils.formatters.NumberFormatter
class SavegameInfo(
game: MaxonGame,
skin: Skin,
- sav: MaxonSavegame,
+ sav: MaxonSavegame?,
savId: Int
) : Table(skin) {
init {
@@ -26,64 +26,90 @@ class SavegameInfo(
this.height = 324f
this.align(Align.top)
- val title = Label("Save $savId (${sav.name})", skin, "with_background")
+ val title = Label(if (sav != null) "Save ${savId + 1}" else "New Game", skin, "with_background")
this.add(title).width(506f).pad(6f).row()
val content = Table()
content.align(Align.top)
this.add(content).width(506f).maxWidth(506f).pad(6f).expandY().row()
- // - - - P O I N T S - - - :
- // Label for points:
- val pointsLabel = Label("Points", skin)
- content.add(pointsLabel).width(246f).pad(4f)
- // Label for points count:
- val pointsCLabel = Label(NumberFormatter.format(sav.points.toLong()), skin)
- pointsCLabel.setAlignment(Align.right)
- content.add(pointsCLabel).width(246f).pad(4f).row()
-
- // - - - M U L T I P L I E R - - - :
- // Label for multiplier:
- val mpLabel = Label("Multiplier", skin)
- content.add(mpLabel).width(246f).pad(4f)
- // Label for multiplier count:
- val mpCLabel = Label("+${NumberFormatter.format(sav.multiplier.toLong())}/click", skin)
- mpCLabel.setAlignment(Align.right)
- content.add(mpCLabel).width(246f).pad(4f).row()
-
- // - - - P U R C H A S E D I T E M S - - - :
- // Label for purchased items:
- val piLabel = Label("Inventory size", skin)
- content.add(piLabel).width(246f).pad(4f)
- // Label for purchased items count:
- val piCLabel = Label(sav.inv.size.toString(), skin)
- piCLabel.setAlignment(Align.right)
- content.add(piCLabel).width(246f).pad(4f).row()
-
// - - - A C T I O N S - - - :
val actions = Table()
this.add(actions).width(508f).row()
- // Deletion button:
- val delButton = ImageButton(skin, "delete")
-
- delButton.addListener(object : ClickListener() {
- override fun clicked(event: InputEvent?, x: Float, y: Float) {
- super.clicked(event, x, y)
- }
- })
-
- actions.add(delButton).pad(4f)
- // Play button:
- val playButton = TextButton("Play!", skin)
-
- playButton.addListener(object : ClickListener() {
- override fun clicked(event: InputEvent, x: Float, y: Float) {
- game.screen = GameScreen(game, sav, savId)
- }
- })
-
- actions.add(playButton).width(444f)
+ if (sav != null) {
+ // - - - P O I N T S - - - :
+ // Label for points:
+ val pointsLabel = Label("Points", skin)
+ content.add(pointsLabel).width(246f).pad(4f)
+ // Label for points count:
+ val pointsCLabel = Label(NumberFormatter.format(sav.points.toLong()), skin)
+ pointsCLabel.setAlignment(Align.right)
+ content.add(pointsCLabel).width(246f).pad(4f).row()
+
+ // - - - M U L T I P L I E R - - - :
+ // Label for multiplier:
+ val mpLabel = Label("Multiplier", skin)
+ content.add(mpLabel).width(246f).pad(4f)
+ // Label for multiplier count:
+ val mpCLabel = Label("+${NumberFormatter.format(sav.multiplier.toLong())}/click", skin)
+ mpCLabel.setAlignment(Align.right)
+ content.add(mpCLabel).width(246f).pad(4f).row()
+
+ // - - - P U R C H A S E D I T E M S - - - :
+ // Label for purchased items:
+ val piLabel = Label("Inventory size", skin)
+ content.add(piLabel).width(246f).pad(4f)
+ // Label for purchased items count:
+ val piCLabel = Label(sav.inv.size.toString(), skin)
+ piCLabel.setAlignment(Align.right)
+ content.add(piCLabel).width(246f).pad(4f).row()
+
+ // Deletion button:
+ val delButton = ImageButton(skin, "delete")
+
+ delButton.addListener(object : ClickListener() {
+ override fun clicked(event: InputEvent?, x: Float, y: Float) {
+ super.clicked(event, x, y)
+ }
+ })
+
+ actions.add(delButton).pad(4f)
+
+ // Play button:
+ val playButton = TextButton("Play!", skin)
+
+ playButton.addListener(object : ClickListener() {
+ override fun clicked(event: InputEvent, x: Float, y: Float) {
+ game.screen = GameScreen(game, sav, savId)
+ }
+ })
+
+ actions.add(playButton).width(444f)
+ } else {
+ // - - - N A M E - - - :
+ // Label for points:
+ val nameLabel = Label("Your name", skin)
+ content.add(nameLabel).width(246f).pad(4f)
+ // Label for points count:
+ val nameField = TextField("test", skin)
+ content.add(nameField).width(246f).pad(4f).row()
+
+
+ // Play button:
+ val playButton = TextButton("START!", skin)
+
+ playButton.addListener(object : ClickListener() {
+ override fun clicked(event: InputEvent, x: Float, y: Float) {
+ val _sav = MaxonSavegame()
+ _sav.name = nameField.messageText
+
+ game.screen = GameScreen(game, _sav, savId)
+ }
+ })
+
+ actions.add(playButton).width(502f)
+ }
}