|
@@ -4,27 +4,33 @@ import controller.GameController;
|
|
|
import controller.tiles.interactive.InteractiveTileController;
|
|
import controller.tiles.interactive.InteractiveTileController;
|
|
|
import model.tiles.InteractiveTileModel;
|
|
import model.tiles.InteractiveTileModel;
|
|
|
import util.Translator;
|
|
import util.Translator;
|
|
|
|
|
+import util.economy.EconomyData;
|
|
|
|
|
+import util.economy.EconomyInfo;
|
|
|
import view.popUpMenu.PopupMenu;
|
|
import view.popUpMenu.PopupMenu;
|
|
|
import view.popUpMenu.UpgradeMenu;
|
|
import view.popUpMenu.UpgradeMenu;
|
|
|
import view.tile.interactive.MineView;
|
|
import view.tile.interactive.MineView;
|
|
|
|
|
|
|
|
public class MineController extends InteractiveTileController {
|
|
public class MineController extends InteractiveTileController {
|
|
|
|
|
|
|
|
- GameController gc;
|
|
|
|
|
-
|
|
|
|
|
public MineController(GameController gc, InteractiveTileModel model) {
|
|
public MineController(GameController gc, InteractiveTileModel model) {
|
|
|
super(model, null, gc);
|
|
super(model, null, gc);
|
|
|
setView(new MineView(2, 2,gc, this, 1));
|
|
setView(new MineView(2, 2,gc, this, 1));
|
|
|
- PopupMenu popup = new UpgradeMenu(100, 100, Translator.translate("popup.title.mine"), this);
|
|
|
|
|
|
|
+ PopupMenu popup = new UpgradeMenu(100, 100, Translator.translate("popup.title.stone_mine"), this);
|
|
|
setPopupOnClick(popup);
|
|
setPopupOnClick(popup);
|
|
|
- this.gc = gc;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void upgrade() {
|
|
public void upgrade() {
|
|
|
- setView(new MineView(2, 2,gc, this, 2));
|
|
|
|
|
- PopupMenu popup = new UpgradeMenu(100, 100, Translator.translate("popup.title.mine"), this);
|
|
|
|
|
- setPopupOnClick(popup);
|
|
|
|
|
|
|
+ EconomyData data = EconomyInfo.infoOf(getModel().getTileType());
|
|
|
|
|
+ int controllerLevel = getModel().getLevel();
|
|
|
|
|
+ if(data.getMaxLevel() < controllerLevel
|
|
|
|
|
+ && gameController.hasAllResources(data, controllerLevel)
|
|
|
|
|
+ && gameController.getModel().getLightHouseLevel() >= data.getRequiredLighthouseLevels().get(controllerLevel)){
|
|
|
|
|
+ getModel().upgrade();
|
|
|
|
|
+ setView(new MineView(2, 2,gameController, this, getModel().getLevel()));
|
|
|
|
|
+ PopupMenu popup = new UpgradeMenu(100, 100, Translator.translate("popup.title.stone_mine"), this);
|
|
|
|
|
+ setPopupOnClick(popup);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|