package com.jpii.navalbattle.game.turn;
import java.awt.Font;
import com.jpii.navalbattle.NavalBattle;
import com.jpii.navalbattle.data.RoketGamerData;
import com.jpii.navalbattle.game.NavalManager;
import com.jpii.navalbattle.game.entity.PortEntity;
import com.jpii.navalbattle.pavo.gui.NewWindowManager;
import com.jpii.navalbattle.pavo.gui.controls.PButton;
import com.jpii.navalbattle.pavo.gui.controls.PText;
import com.jpii.navalbattle.pavo.gui.controls.PWindow;
import com.jpii.navalbattle.pavo.gui.events.PMouseEvent;
import com.jpii.navalbattle.util.RoketUtils;
public class PortShop extends PWindow {
PortEntity port;
Player current;
PText score;
public PortShop(NewWindowManager parent,PortEntity pe) {
super(parent);
parent.add(this);
setSize(500, 250);
setLoc(390, 275);
setText("Port Shop");
port = pe;
initItems();
current = null;
if(port == null){
super.setVisible(false);
}
else{
super.setVisible(true);
current = ((NavalManager)port.getManager()).getGame().getTurnManager().findPlayer(pe);
}
}
private void initItems(){
PText shop = new PText(this);
score = new PText(this);
PButton bship = new PButton(this);
PButton sub = new PButton(this);
PButton ac = new PButton(this);
PButton repair = new PButton(this);
PText stock = new PText(this);
PText price = new PText(this);
PText bprice = new PText(this);
PText sprice = new PText(this);
PText acprice = new PText(this);
PText rprice = new PText(this);
shop.setFont(new Font("Verdana Bold", 1, 18));
score.setFont(new Font("Verdana Bold", 1, 12));
stock.setFont(new Font("Verdana Bold", 1, 12));
price.setFont(new Font("Verdana Bold", 1, 12));
shop.setText("Port Shop");
score.setText("Your Current Score is "+((NavalManager)port.getManager()).getGame().getTurnManager().getTurn().getPlayer().getScore());
bship.setText("Purchase Battleship");
sub.setText("Purchase Submarine");
ac.setText("Purchase Aircraft Carrier");
repair.setText("Repair Port");
stock.setText("Stock");
price.setText("Price");
bprice.setText("1000");
sprice.setText("1250");
acprice.setText("1250");
rprice.setText("500");
shop.setLoc(200,35);
score.setLoc(5, 230);
bship.setLoc(20, 90);
sub.setLoc(20, 120);
ac.setLoc(20, 150);
repair.setLoc(20, 180);
stock.setLoc(60, 60);
price.setLoc(390, 60);
bprice.setLoc(390, 90);
sprice.setLoc(390, 120);
acprice.setLoc(390, 150);
rprice.setLoc(390, 180);
addControl(shop);
addControl(score);
addControl(bship);
addControl(sub);
addControl(ac);
addControl(stock);
addControl(price);
addControl(bprice);
addControl(sprice);
addControl(acprice);
addControl(repair);
addControl(rprice);
bship.addMouseListener(new PMouseEvent(){
public void mouseDown(int x, int y, int buttonid) {
buyBattleShip();
RoketUtils.submitAchievement(RoketGamerData.ACHIEVEMENT_THRIFT_SHOP);
}
});
sub.addMouseListener(new PMouseEvent(){
public void mouseDown(int x, int y, int buttonid) {
buySubmarine();
RoketUtils.submitAchievement(RoketGamerData.ACHIEVEMENT_THRIFT_SHOP);
}
});
ac.addMouseListener(new PMouseEvent(){
public void mouseDown(int x, int y, int buttonid) {
buyCarrier();
RoketUtils.submitAchievement(RoketGamerData.ACHIEVEMENT_THRIFT_SHOP);
}
});
repair.addMouseListener(new PMouseEvent(){
public void mouseDown(int x, int y, int buttonid) {
repairAction();
RoketUtils.submitAchievement(RoketGamerData.ACHIEVEMENT_THRIFT_SHOP);
}
});
}
public void update(){
score.setText("Your Current Score is "+((NavalManager)port.getManager()).getGame().getTurnManager().getTurn().getPlayer().getScore());
}
private void buyBattleShip(){
if(current!=null && port!=null){
if(current.getScore()>=1000){
current.subtractscore(1000);
NavalBattle.getGameState().addPointsSpent(1000);
port.spawnBattleship();
}
update();
}
}
private void buySubmarine(){
if(current!=null && port!=null){
if(current.getScore()>=1250){
current.subtractscore(1250);
NavalBattle.getGameState().addPointsSpent(1250);
port.spawnSubmarine();
}
update();
}
}
private void buyCarrier(){
if(current!=null && port!=null){
if(current.getScore()>=1250){
current.subtractscore(1250);
NavalBattle.getGameState().addPointsSpent(1250);
port.spawnAC();
}
update();
}
}
private void repairAction(){
if(current!=null && port!=null){
if(current.getScore()>=500){
current.subtractscore(500);
NavalBattle.getGameState().addPointsSpent(500);
port.repair();
}
update();
}
}
}