// Path: randomizer/Randomizer.java
// public class Randomizer extends Application {
//     public static void main(String[] args) {
//         launch(args);
//     }
// 
//     @Override
//     public void start(Stage primaryStage) {
//         try {
//             // Create and display the main stage.
//             Gui.getInstance().setMainStage(primaryStage);
//             Parent root = FXMLLoader.load(this.getClass().getResource("gui/fxml/Verification.fxml"));
//             Scene scene = new Scene(root, 320, 260);
//             scene.getStylesheets().add(getClass().getResource("gui/jmetro/JMetroLightTheme.css").toExternalForm());
//             primaryStage.setScene(scene);
//             primaryStage.setResizable(false);
//             primaryStage.getIcons().add(new Image(this.getClass().getResourceAsStream("icon.png")));
//             primaryStage.setTitle("Randomizer Verification");
//             primaryStage.show();
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// }
// 
// Path: randomizer/common/enums/CharacterType.java
// public enum CharacterType {
//     FirstGen, SecondGen, NPC, Player
// }
// 
// Path: randomizer/common/enums/SkillType.java
// public enum SkillType 
// {
// 	Basic, Enemy, DLC, Personal
// }
// 
// Path: randomizer/common/structures/Skill.java
// public class Skill 
// {
// 	private String seid;
// 	private String name;
// 	private SkillType type;
// 	private short id;
// 	
// 	public Skill() {
// 		
// 	}
// 
// 	@Override
// 	public String toString()
// 	{
// 		return name;
// 	}
// 	
// 	public String getSeid() {
// 		return seid;
// 	}
// 
// 	public void setSeid(String seid) {
// 		this.seid = seid;
// 	}
// 
// 	public SkillType getType() {
// 		return type;
// 	}
// 
// 	public void setType(SkillType type) {
// 		this.type = type;
// 	}
// 
// 	public short getId() {
// 		return id;
// 	}
// 
// 	public void setId(short id) {
// 		this.id = id;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// }


import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty;
import randomizer.Randomizer;
import randomizer.common.enums.CharacterType;
import randomizer.common.enums.SkillType;
import randomizer.common.structures.Skill;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
    private boolean[] selectedItems = new boolean[AItems.getInstance().getWeapons().size()];
    private boolean[] selectedSkills = new boolean[ASkills.getInstance().getSkills().size()];
    private boolean[] selectedOptions;

    private AGui() {
        try {
            BufferedReader streamReader = new BufferedReader(new InputStreamReader(Randomizer.class
                    .getResourceAsStream("data/text/AwakeningOptions.txt")));
            options = new ArrayList<>();
            String line;
            while((line = streamReader.readLine()) != null) {
                options.add(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // Set up default selections.
        List<Skill> skills = ASkills.getInstance().getSkills();
        selectedOptions = new boolean[options.size()];
        for(int x = 0; x < selectedOptions.length; x++) {
            selectedOptions[x] = true;
        }
        for(int x = 0; x < selectedCharacters.length; x++) {
            selectedCharacters[x] = true;
        }
        for(int x = 0; x < selectedJobs.length; x++) {
            selectedJobs[x] = true;
        }
        for(int x = 0; x < skills.size(); x++) {
// Path: randomizer/Randomizer.java
// public class Randomizer extends Application {
//     public static void main(String[] args) {
//         launch(args);
//     }
// 
//     @Override
//     public void start(Stage primaryStage) {
//         try {
//             // Create and display the main stage.
//             Gui.getInstance().setMainStage(primaryStage);
//             Parent root = FXMLLoader.load(this.getClass().getResource("gui/fxml/Verification.fxml"));
//             Scene scene = new Scene(root, 320, 260);
//             scene.getStylesheets().add(getClass().getResource("gui/jmetro/JMetroLightTheme.css").toExternalForm());
//             primaryStage.setScene(scene);
//             primaryStage.setResizable(false);
//             primaryStage.getIcons().add(new Image(this.getClass().getResourceAsStream("icon.png")));
//             primaryStage.setTitle("Randomizer Verification");
//             primaryStage.show();
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// }
// 
// Path: randomizer/common/enums/CharacterType.java
// public enum CharacterType {
//     FirstGen, SecondGen, NPC, Player
// }
// 
// Path: randomizer/common/enums/SkillType.java
// public enum SkillType 
// {
// 	Basic, Enemy, DLC, Personal
// }
// 
// Path: randomizer/common/structures/Skill.java
// public class Skill 
// {
// 	private String seid;
// 	private String name;
// 	private SkillType type;
// 	private short id;
// 	
// 	public Skill() {
// 		
// 	}
// 
// 	@Override
// 	public String toString()
// 	{
// 		return name;
// 	}
// 	
// 	public String getSeid() {
// 		return seid;
// 	}
// 
// 	public void setSeid(String seid) {
// 		this.seid = seid;
// 	}
// 
// 	public SkillType getType() {
// 		return type;
// 	}
// 
// 	public void setType(SkillType type) {
// 		this.type = type;
// 	}
// 
// 	public short getId() {
// 		return id;
// 	}
// 
// 	public void setId(short id) {
// 		this.id = id;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// }


// Path: randomizer/awakening/singletons/AGui.java
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty;
import randomizer.Randomizer;
import randomizer.common.enums.CharacterType;
import randomizer.common.enums.SkillType;
import randomizer.common.structures.Skill;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

    private boolean[] selectedItems = new boolean[AItems.getInstance().getWeapons().size()];
    private boolean[] selectedSkills = new boolean[ASkills.getInstance().getSkills().size()];
    private boolean[] selectedOptions;

    private AGui() {
        try {
            BufferedReader streamReader = new BufferedReader(new InputStreamReader(Randomizer.class
                    .getResourceAsStream("data/text/AwakeningOptions.txt")));
            options = new ArrayList<>();
            String line;
            while((line = streamReader.readLine()) != null) {
                options.add(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // Set up default selections.
        List<Skill> skills = ASkills.getInstance().getSkills();
        selectedOptions = new boolean[options.size()];
        for(int x = 0; x < selectedOptions.length; x++) {
            selectedOptions[x] = true;
        }
        for(int x = 0; x < selectedCharacters.length; x++) {
            selectedCharacters[x] = true;
        }
        for(int x = 0; x < selectedJobs.length; x++) {
            selectedJobs[x] = true;
        }
        for(int x = 0; x < skills.size(); x++) {
            selectedSkills[x] = skills.get(x).getType() != SkillType.Enemy;