package engine.gameScene;
import engine.gameController.GameController;
import engine.gameScene.url.Url;
import java.io.IOException;
import java.net.URL;
import java.util.Collection;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Pos;
import javafx.scene.CacheHint;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.control.Button;
import javafx.scene.control.ToolBar;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import static javafx.scene.input.KeyCode.E;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Region;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
/**
*
* @author Saeed
*/
public class SceneBuilder {
/**
* change stage to full screen
* @param stage Game Stage
* @return Stage
*/
public static Stage setFullScreen(Stage stage){
stage.setFullScreen(true);
stage.setResizable(true);
stage.setFullScreenExitHint("");
stage.setTitle("Stupid Warriors V1.0");
stage.getIcons().add(new Image(Url.ICON));
return stage ;
}
/**
*
* @param url url needed to create a fxmlLoader
* @param obj controller to set in fxml loader
* @return return Parent to add to scene
* @throws IOException
*/
public static Parent setFxmlLoader(URL url, Object obj) throws IOException{
FXMLLoader fxmlLoader = new FXMLLoader(url);
fxmlLoader.setController(obj);
return fxmlLoader.load();
}
public static ToolBar createGameToolBar(ToolBar toolbar){
Region spacer = new Region();
spacer.getStyleClass().setAll("spacer");
HBox buttonBar = new HBox();
buttonBar.getStyleClass().setAll("segmented-button-bar");
Button sampleButton = new Button("Tasks");
sampleButton.getStyleClass().addAll("first");
Button sampleButton2 = new Button("Administrator");
Button sampleButton3 = new Button("Search");
Button sampleButton4 = new Button("Line");
Button sampleButton5 = new Button("Process");
sampleButton5.getStyleClass().addAll("last", "capsule");
buttonBar.getChildren().addAll(sampleButton, sampleButton2, sampleButton3, sampleButton4, sampleButton5);
toolbar.getItems().addAll(spacer, buttonBar);
return toolbar;
}
public static void createTableBoardRight(ImageView scoutTower,
ImageView hammerHeadTower,
ImageView bulletTower,
ImageView teamUpgrade2,
ImageView teamUpgrade3,
ImageView teamUpgrade,
StackPane mainStack) {
//add to stack
mainStack.getChildren().addAll(scoutTower,hammerHeadTower,bulletTower,teamUpgrade,teamUpgrade2,teamUpgrade3);
//set position
StackPane.setAlignment(scoutTower, Pos.BOTTOM_RIGHT);
StackPane.setAlignment(hammerHeadTower, Pos.BOTTOM_RIGHT);
StackPane.setAlignment(bulletTower, Pos.BOTTOM_RIGHT);
StackPane.setAlignment(teamUpgrade, Pos.BOTTOM_RIGHT);
StackPane.setAlignment(teamUpgrade2, Pos.BOTTOM_RIGHT);
StackPane.setAlignment(teamUpgrade3, Pos.BOTTOM_RIGHT);
//set translate x,y
scoutTower.setTranslateX(-10);
scoutTower.setTranslateY(-80);
hammerHeadTower.setTranslateX(-200);
hammerHeadTower.setTranslateY(-90);
bulletTower.setTranslateX(-100);
bulletTower.setTranslateY(-80);
teamUpgrade.setTranslateX(-10);
teamUpgrade.setTranslateY(-10);
teamUpgrade2.setTranslateX(-200);
teamUpgrade2.setTranslateY(-10);
teamUpgrade3.setTranslateX(-100);
teamUpgrade3.setTranslateY(-10);
}
public static void createTableBoardLeftSoldier(ImageView infantrySoldier, ImageView tankSoldier, StackPane mainStack) {
StackPane.setAlignment(infantrySoldier, Pos.BOTTOM_LEFT);
StackPane.setAlignment(tankSoldier, Pos.BOTTOM_LEFT);
double x = 40;
double y = -50;
double imgX = infantrySoldier.getImage().getWidth();
infantrySoldier.setTranslateX(x);
infantrySoldier.setTranslateY(y);
tankSoldier.setTranslateX(x+imgX+30);
tankSoldier.setTranslateY(y);
mainStack.getChildren().addAll(infantrySoldier,tankSoldier);
}
public static void createTableBoarderLeftTower(ImageView towerAutoRepair, ImageView towerPowerUpgrade, ImageView towerRangeUpgrade, ImageView towerReloadUpgrade,StackPane mainStack) {
StackPane.setAlignment(towerReloadUpgrade, Pos.BOTTOM_LEFT);
StackPane.setAlignment(towerPowerUpgrade, Pos.BOTTOM_LEFT);
StackPane.setAlignment(towerRangeUpgrade, Pos.BOTTOM_LEFT);
StackPane.setAlignment(towerAutoRepair, Pos.BOTTOM_LEFT);
//posotion
double x = 20;
double y = -78;
double imgX = towerRangeUpgrade.getImage().getWidth();
towerPowerUpgrade.setTranslateX(x);
towerPowerUpgrade.setTranslateY(y);
towerRangeUpgrade.setTranslateX(imgX+x+10);
towerRangeUpgrade.setTranslateY(y);
towerReloadUpgrade.setTranslateX(imgX*2+x+20);
towerReloadUpgrade.setTranslateY(y);
towerAutoRepair.setTranslateX(120);
towerAutoRepair.setTranslateY(-10);
//tooltip
mainStack.getChildren().addAll(towerAutoRepair,towerPowerUpgrade,towerRangeUpgrade,towerReloadUpgrade);
}
public static void createTableBoardLeftMap(StackPane mainStack) {
}
}