diff --git a/javaFxTest.iml b/javaFxTest.iml index ddf84fe659a7b523463891bff8c73eee73859a04..db8a36093e926815cca45f781d4debfc8f66a6b1 100644 --- a/javaFxTest.iml +++ b/javaFxTest.iml @@ -8,13 +8,13 @@ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> <excludeFolder url="file://$MODULE_DIR$/target" /> </content> - <orderEntry type="jdk" jdkName="openjdk-16" jdkType="JavaSDK" /> + <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="Maven: org.openjfx:javafx-controls:15.0.1" level="project" /> - <orderEntry type="library" name="Maven: org.openjfx:javafx-controls:win:15.0.1" level="project" /> + <orderEntry type="library" name="Maven: org.openjfx:javafx-controls:linux:15.0.1" level="project" /> <orderEntry type="library" name="Maven: org.openjfx:javafx-graphics:15.0.1" level="project" /> - <orderEntry type="library" name="Maven: org.openjfx:javafx-graphics:win:15.0.1" level="project" /> + <orderEntry type="library" name="Maven: org.openjfx:javafx-graphics:linux:15.0.1" level="project" /> <orderEntry type="library" name="Maven: org.openjfx:javafx-base:15.0.1" level="project" /> - <orderEntry type="library" name="Maven: org.openjfx:javafx-base:win:15.0.1" level="project" /> + <orderEntry type="library" name="Maven: org.openjfx:javafx-base:linux:15.0.1" level="project" /> </component> </module> \ No newline at end of file diff --git a/src/main/java/Character/Abilities.java b/src/main/java/Character/Abilities.java index 87da4f45a0e95ae354be3d771bb89aa5ecbfb25c..352f6e192ee79d500b1a4620d96c3f80f18b52b6 100644 --- a/src/main/java/Character/Abilities.java +++ b/src/main/java/Character/Abilities.java @@ -1,5 +1,7 @@ package Character; +import java.util.HashMap; + public class Abilities { //Lists of names of abilities private final String[] warAbilityNames = new String[]{"Archery", "Athletics", "Awareness", "Dodge", "Integrity", "Martial Arts", "Melee", "Resistance", "Thrown", "War"}; @@ -7,18 +9,25 @@ public class Abilities { private final String[] wisdomAbilityNames = new String[]{"Bureaucracy", "Investigation", "Lore", "Occult", "Medicine"}; //Lists of values of abilities - private final int[] warAbilities; - private final int[] lifeAbilities; - private final int[] wisdomAbilities; + private final HashMap<String, Integer> allAbilities = new HashMap<>(); /** * Manage abilities as on the character sheet */ public Abilities(int[] war, int[] life, int[] wisdom) { - //Set abilities - warAbilities = war; - lifeAbilities = life; - wisdomAbilities = wisdom; + //Create all abilities list + int i0 = 0; + for(String ability: warAbilityNames) { + allAbilities.put(ability, war[i0++]); + } + int i1 = 0; + for(String ability: lifeAbilityNames) { + allAbilities.put(ability, life[i1++]); + } + int i2 = 0; + for(String ability: wisdomAbilityNames) { + allAbilities.put(ability, wisdom[i2++]); + } } /** @@ -35,28 +44,16 @@ public class Abilities { } /** - * Return ability of given number + * Return value of given ability */ - public int getWarAbility(int selector) { - return warAbilities[selector]; - } - public int getLifeAbility(int selector) { - return lifeAbilities[selector]; - } - public int getWisdomAbility(int selector) { - return wisdomAbilities[selector]; + public int getAbility(String ability) { + return allAbilities.get(ability); } /** * Set value of given numbered ability */ - public void setWarAbility(int selector, int value) { - warAbilities[selector] = value; - } - public void setLifeAbility(int selector, int value) { - lifeAbilities[selector] = value; - } - public void setWisdomAbility(int selector, int value) { - wisdomAbilities[selector] = value; + public void setAbility(String selector, int value) { + allAbilities.put(selector, value); } } diff --git a/src/main/java/UI/AbilitiesList.java b/src/main/java/UI/AbilitiesList.java index d9e4a502f189511b8f472caec96efe465996bfb7..13f5467b163c7d2c4b2f435a4d07613b2cda74d4 100644 --- a/src/main/java/UI/AbilitiesList.java +++ b/src/main/java/UI/AbilitiesList.java @@ -2,23 +2,37 @@ package UI; import javafx.scene.control.ScrollPane; import javafx.scene.layout.HBox; +import javafx.scene.layout.Pane; import javafx.scene.layout.StackPane; import javafx.scene.text.Text; +import Character.Abilities; +import Character.CharacterInterface; public class AbilitiesList extends ScrollPane { private final Sheet sheet; + private final Abilities abilities; private final HBox container; public AbilitiesList(Sheet sheet) { //Set sheet this.sheet = sheet; + abilities = CharacterInterface.getAbilities(); //Set HBox into scroll pane to hold Names & values container = new HBox(); this.getChildren().add(container); + //Set War title & ability listings + addTitle("War"); + int start = createAbilityListings(abilities.getWarNames(), 0); + //Set Life title & ability listings + addTitle("Life"); + start = createAbilityListings(abilities.getLifeNames(), start); + //Set Wisdom title & ability listings + addTitle("Wisdom"); + createAbilityListings(abilities.getWisdomNames(), start); } /** @@ -31,4 +45,30 @@ public class AbilitiesList extends ScrollPane { pane.getChildren().add(text); } + /** + * Loop through given list and create pane for each + */ + private int createAbilityListings(String[] list, int startAt) { + int i = startAt; + for(String ability: list) { + StackPane pane = new StackPane(); + + } + return i; + } + + /** + * Take pane & show listing + */ + private void showAbility(StackPane pane, int selector) { + + } + + /** + * Takes pane & shows input screen + */ + private void takeInput() { + + } + }