diff options
author | nextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com> | 2022-04-25 13:12:22 +0100 |
---|---|---|
committer | nextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com> | 2022-04-25 13:12:22 +0100 |
commit | 89d6576a7777a2949e04b2c6c8d2eb015a733529 (patch) | |
tree | 1a6906f9c71591aacbcbf5a32a1a1ed582b95fcb /src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java | |
parent | 29156d83c4213e319149fa5e0a926dd913404528 (diff) | |
download | OneConfig-89d6576a7777a2949e04b2c6c8d2eb015a733529.tar.gz OneConfig-89d6576a7777a2949e04b2c6c8d2eb015a733529.tar.bz2 OneConfig-89d6576a7777a2949e04b2c6c8d2eb015a733529.zip |
add size, do some config element stuff, fixes for cards, finish mods page and performance page, cleanup and some more
Diffstat (limited to 'src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java')
-rw-r--r-- | src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java b/src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java new file mode 100644 index 0000000..357d684 --- /dev/null +++ b/src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java @@ -0,0 +1,52 @@ +package io.polyfrost.oneconfig.gui.pages; + +import io.polyfrost.oneconfig.config.core.ConfigCore; +import io.polyfrost.oneconfig.config.data.ModData; +import io.polyfrost.oneconfig.config.interfaces.Option; +import io.polyfrost.oneconfig.gui.elements.config.OConfigCategory; +import org.lwjgl.input.Mouse; + +import java.util.ArrayList; + +public class ModConfigPage extends Page { + private final ModData modData; + private final ArrayList<Option> options; + + public ModConfigPage(ModData mod) { + super("Mod: " + mod.name); + this.modData = mod; + options = ConfigCore.settings.get(mod); + } + + @Override + public void draw(long vg, int x, int y) { + for (Option option : options) { + if (option instanceof OConfigCategory) { + OConfigCategory category = (OConfigCategory) option; + for (Option subOption : category.options) { + if (subOption.size == 0) { + subOption.draw(vg, x, y, Mouse.getX(), Mouse.getY()); + } + } + for (Option subOption : category.options) { + if (subOption.size == 1) { + subOption.draw(vg, x, y, Mouse.getX(), Mouse.getY()); + } + } + } + } + } + + @Override + public void finishUpAndClose() { + modData.config.save(); // TODO + } + + public ModData getModData() { + return modData; + } + + protected ArrayList<Option> getOptions() { + return options; + } +} |