summaryrefslogtreecommitdiff
path: root/core/src/kz/ilotterytea/maxon/screens
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/kz/ilotterytea/maxon/screens')
-rw-r--r--core/src/kz/ilotterytea/maxon/screens/GameScreen.java79
-rw-r--r--core/src/kz/ilotterytea/maxon/screens/SplashScreen.java2
-rw-r--r--core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java55
3 files changed, 30 insertions, 106 deletions
diff --git a/core/src/kz/ilotterytea/maxon/screens/GameScreen.java b/core/src/kz/ilotterytea/maxon/screens/GameScreen.java
index 6922077..52bcce9 100644
--- a/core/src/kz/ilotterytea/maxon/screens/GameScreen.java
+++ b/core/src/kz/ilotterytea/maxon/screens/GameScreen.java
@@ -297,85 +297,6 @@ public class GameScreen implements Screen, InputProcessor {
this.shopUI.update();
}
- private void showShop() {
- // - - - - - - S H O P T A B L E - - - - - - :
- final Table shopTable = new Table(skin);
- shopTable.setBackground("bg");
- shopTable.setSize(stage.getWidth() - 20f, stage.getHeight() - (boardTable.getHeight() + quickTable.getHeight() + 20f));
- shopTable.setPosition(10f, quickTable.getHeight() + 10f);
- shopTable.align(Align.top | Align.center);
-
- stage.addActor(shopTable);
-
- // Header table:
- Table headShopTable = new Table();
- shopTable.add(headShopTable).width(shopTable.getWidth()).row();
-
- // - - - S H O P T I T L E - - -:
- Label shopTitle = new Label(game.locale.TranslatableText("game.petShop"), skin);
- headShopTable.add(shopTitle).expandX();
-
- // - - - C L O S E B U T T O N - - - :
- TextButton closeButton = new TextButton("X", skin);
-
- closeButton.addListener(new ClickListener() {
- @Override
- public void clicked(InputEvent event, float x, float y) {
- shopTable.remove();
- isShopping = !isShopping;
- }
- });
-
- headShopTable.add(closeButton).row();
-
- // - - - S H O P C O N T E N T - - - :
- Table contentTable = new Table();
-
- // Adding items to shop:
- for (final MaxonItem item : MaxonItemRegister.getItems()) {
- PurchaseItem p_item = new PurchaseItem(
- skin,
- item,
- mainAtlas
- );
-
- p_item.addListener(new ClickListener() {
- @Override
- public void clicked(InputEvent event, float x, float y) {
- if (savegame.getMoney() < item.price) {
- notEnoughPointsDialog.show(stage);
-
- Timer.schedule(new Timer.Task() {
- @Override
- public void run() {
- notEnoughPointsDialog.hide(Actions.fadeOut(2f, Interpolation.smoother));
- }
- }, 2);
-
- return;
- }
-
- savegame.decreaseMoney(item.price);
- savegame.increaseMultiplier(item.multiplier);
- savegame.getPurchasedPets().add(item.id);
-
- if (invItems.containsKey(item.id)) {
- invItems.put(item.id, invItems.get(item.id) + 1);
- } else {
- invItems.put(item.id, 1);
- }
- }
- });
-
- contentTable.add(p_item).pad(6f).width(shopTable.getWidth()).row();
- }
-
- // Scroll panel for content table:
- ScrollPane contentPane = new ScrollPane(contentTable);
- contentPane.setScrollingDisabled(true, false);
- shopTable.add(contentPane);
- }
-
private void showInventory() {
// - - - - - - I N V E N T O R Y T A B L E - - - - - - :
final Table inventoryTable = new Table(skin);
diff --git a/core/src/kz/ilotterytea/maxon/screens/SplashScreen.java b/core/src/kz/ilotterytea/maxon/screens/SplashScreen.java
index a4b56eb..9a1cc85 100644
--- a/core/src/kz/ilotterytea/maxon/screens/SplashScreen.java
+++ b/core/src/kz/ilotterytea/maxon/screens/SplashScreen.java
@@ -64,7 +64,7 @@ public class SplashScreen implements Screen {
new Action() {
@Override
public boolean act(float v) {
- AssetLoading.registerItems(game.assetManager, game.locale);
+ game.getPetManager().load();
game.setScreen(new MenuScreen());
dispose();
return false;
diff --git a/core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java b/core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java
index 67f2c11..e4e3694 100644
--- a/core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java
+++ b/core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java
@@ -7,20 +7,20 @@ import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.utils.Align;
-import kz.ilotterytea.maxon.player.MaxonItem;
-import kz.ilotterytea.maxon.player.MaxonItemRegister;
+import kz.ilotterytea.maxon.MaxonGame;
+import kz.ilotterytea.maxon.pets.Pet;
+import kz.ilotterytea.maxon.pets.PetWidget;
import kz.ilotterytea.maxon.player.Savegame;
-import kz.ilotterytea.maxon.ui.PurchaseItem;
import kz.ilotterytea.maxon.utils.formatters.NumberFormatter;
import kz.ilotterytea.maxon.utils.math.Math;
import java.util.ArrayList;
+import java.util.HashSet;
public class ShopUI {
private final Table table, mainTable;
private final Skin skin;
private final TextureAtlas atlas;
- private final ArrayList<MaxonItem> items;
private ShopMode mode;
private ShopMultiplier multiplier;
@@ -28,7 +28,7 @@ public class ShopUI {
private final Savegame savegame;
private Label pointsLabel, multiplierLabel;
- private final ArrayList<PurchaseItem> purchaseItems = new ArrayList<>();
+ private final ArrayList<PetWidget> petWidgets = new ArrayList<>();
public ShopUI(final Savegame savegame, Stage stage, Skin skin, TextureAtlas atlas) {
this.savegame = savegame;
@@ -37,7 +37,6 @@ public class ShopUI {
this.atlas = atlas;
this.mode = ShopMode.BUY;
this.multiplier = ShopMultiplier.X1;
- this.items = MaxonItemRegister.getItems();
this.table = new Table(skin);
this.table.setBackground("store");
@@ -172,34 +171,37 @@ public class ShopUI {
public void createShopListUI() {
Table table = new Table(this.skin);
+ HashSet<Pet> pets = MaxonGame.getInstance().getPetManager().getPets();
- for (final MaxonItem item : this.items) {
- PurchaseItem purchaseItem = new PurchaseItem(this.skin, item, this.atlas);
- purchaseItem.addListener(new ClickListener() {
+ for (Pet pet : pets) {
+ PetWidget widget = new PetWidget(this.skin, pet, this.atlas);
+ widget.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
super.clicked(event, x, y);
- if (purchaseItem.isDisabled()) {
+ if (widget.isDisabled()) {
return;
}
if (mode == ShopMode.BUY) {
- savegame.decreaseMoney(purchaseItem.getPrice());
+ savegame.decreaseMoney(pet.getPrice());
for (int i = 0; i < multiplier.getMultiplier(); i++) {
- savegame.getPurchasedPets().add(purchaseItem.getItem().id);
+ // TODO: fix this
+ savegame.getPurchasedPets().add(0);
}
} else {
- savegame.increaseMoney(purchaseItem.getPrice());
+ savegame.increaseMoney(pet.getPrice());
for (int i = 0; i < multiplier.getMultiplier(); i++) {
- savegame.getPurchasedPets().remove(Integer.valueOf(purchaseItem.getItem().id));
+ // TODO: fix thisss
+ savegame.getPurchasedPets().remove(Integer.valueOf(0));
}
}
}
});
- purchaseItems.add(purchaseItem);
- table.add(purchaseItem).growX().padBottom(5f).row();
+ petWidgets.add(widget);
+ table.add(widget).growX().padBottom(5f).row();
}
ScrollPane scrollPane = new ScrollPane(table);
@@ -214,27 +216,28 @@ public class ShopUI {
}
private void updatePurchaseItems() {
- for (final PurchaseItem item : this.purchaseItems) {
- int amount = (int) savegame.getPurchasedPets().stream().filter(c -> c == item.getItem().id).count();
- double price = item.getItem().price * java.lang.Math.pow(1.15f, amount + multiplier.getMultiplier());
+ for (final PetWidget widget : this.petWidgets) {
+ // TODO: asdkjoiwe (fix this)
+ int amount = (int) savegame.getPurchasedPets().stream().filter(c -> c == 0).count();
+ double price = widget.getPet().getPrice() * java.lang.Math.pow(1.15f, amount + multiplier.getMultiplier());
if (mode == ShopMode.SELL) {
price /= 4;
}
- item.setPrice(price);
+ widget.setPrice(price);
if (mode == ShopMode.BUY) {
if (price > savegame.getMoney() || savegame.getMoney() - price < 0) {
- item.setDisabled(true);
- } else if (item.isDisabled()) {
- item.setDisabled(false);
+ widget.setDisabled(true);
+ } else if (widget.isDisabled()) {
+ widget.setDisabled(false);
}
} else {
if (amount - multiplier.getMultiplier() < 0) {
- item.setDisabled(true);
- } else if (item.isDisabled()) {
- item.setDisabled(false);
+ widget.setDisabled(true);
+ } else if (widget.isDisabled()) {
+ widget.setDisabled(false);
}
}
}