ShopController.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package controller.ui;
  2. import controller.GameController;
  3. import controller.factories.InteractiveTileFactory;
  4. import controller.tiles.interactive.InteractiveTileController;
  5. import model.Inventory;
  6. import model.items.ITEM_NAME;
  7. import model.tiles.InteractiveTileModel;
  8. import model.tiles.InteractiveTileType;
  9. import util.Translator;
  10. import util.economy.EconomyData;
  11. import util.economy.EconomyInfo;
  12. import view.tile.TileManager;
  13. import java.awt.*;
  14. import java.util.ArrayList;
  15. import java.util.List;
  16. import java.util.Map;
  17. public class ShopController {
  18. private GameController gameController;
  19. public ShopController(GameController gameController){
  20. this.gameController = gameController;
  21. }
  22. public void setDraggingOffer(InteractiveTileController controller) {
  23. EconomyData data = EconomyInfo.infoOf(controller.getModel().getTileType());
  24. List<Map.Entry<ITEM_NAME, Integer>> entries = new ArrayList<>(data.getCosts().get(1).entrySet());
  25. for(Map.Entry<ITEM_NAME, Integer> entry : entries){
  26. Inventory inventory = gameController.getModel().getInventory();
  27. if(!inventory.hasEnough(entry.getKey(), entry.getValue())){
  28. return;
  29. }else{
  30. inventory.spend(entry.getKey(), entry.getValue());
  31. }
  32. }
  33. if(controller != null){
  34. gameController.addInteractiveTileController(controller);
  35. gameController.getView().tileManager.setDraggingTile(controller);
  36. gameController.getView().toggleShop();
  37. //gameController.createInteractiveTileModel(1,1, InteractiveTileType.SAWMILL);
  38. System.out.println(controller.getModel().getWorldGridX());
  39. }
  40. }
  41. }