aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/config/data
diff options
context:
space:
mode:
authorDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2022-06-05 17:43:23 +0200
committerGitHub <noreply@github.com>2022-06-05 17:43:23 +0200
commitab7256dff5d6d37488081ba7a01b36d3ee9ef563 (patch)
tree8207341e6c402848cdbe7b2f2297f5f975e0e083 /src/main/java/cc/polyfrost/oneconfig/config/data
parenta903cfc4d3f76cf3db24749b65156d126fa714e7 (diff)
downloadOneConfig-ab7256dff5d6d37488081ba7a01b36d3ee9ef563.tar.gz
OneConfig-ab7256dff5d6d37488081ba7a01b36d3ee9ef563.tar.bz2
OneConfig-ab7256dff5d6d37488081ba7a01b36d3ee9ef563.zip
refactor (#36)
* refactor * fix vig compat * fix nanovg thingy * e * finalize * gui utils package thingy
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/config/data')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java5
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/OptionCategory.java7
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/OptionPage.java19
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/OptionSubcategory.java122
4 files changed, 3 insertions, 150 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java b/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java
index 241dca7..090d1f8 100644
--- a/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java
+++ b/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java
@@ -1,7 +1,8 @@
package cc.polyfrost.oneconfig.config.data;
-import cc.polyfrost.oneconfig.config.interfaces.Config;
-import cc.polyfrost.oneconfig.config.migration.Migrator;
+import cc.polyfrost.oneconfig.config.Config;
+import cc.polyfrost.oneconfig.config.elements.OptionPage;
+import cc.polyfrost.oneconfig.config.migration.vigilance.Migrator;
import org.jetbrains.annotations.Nullable;
public class Mod {
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/OptionCategory.java b/src/main/java/cc/polyfrost/oneconfig/config/data/OptionCategory.java
deleted file mode 100644
index 76b2b34..0000000
--- a/src/main/java/cc/polyfrost/oneconfig/config/data/OptionCategory.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package cc.polyfrost.oneconfig.config.data;
-
-import java.util.ArrayList;
-
-public class OptionCategory {
- public final ArrayList<OptionSubcategory> subcategories = new ArrayList<>();
-}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/OptionPage.java b/src/main/java/cc/polyfrost/oneconfig/config/data/OptionPage.java
deleted file mode 100644
index 32a07b9..0000000
--- a/src/main/java/cc/polyfrost/oneconfig/config/data/OptionPage.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package cc.polyfrost.oneconfig.config.data;
-
-import java.util.LinkedHashMap;
-
-public class OptionPage {
- public final String name;
- public final Mod mod;
- /**
- * Depth 1 = categories
- * Depth 2 = subcategories
- * Depth 3 = list of options
- */
- public final LinkedHashMap<String, OptionCategory> categories = new LinkedHashMap<>();
-
- public OptionPage(String name, Mod mod) {
- this.name = name;
- this.mod = mod;
- }
-}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/OptionSubcategory.java b/src/main/java/cc/polyfrost/oneconfig/config/data/OptionSubcategory.java
deleted file mode 100644
index e69e077..0000000
--- a/src/main/java/cc/polyfrost/oneconfig/config/data/OptionSubcategory.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package cc.polyfrost.oneconfig.config.data;
-
-import cc.polyfrost.oneconfig.config.OneConfigConfig;
-import cc.polyfrost.oneconfig.config.interfaces.BasicOption;
-import cc.polyfrost.oneconfig.gui.OneConfigGui;
-import cc.polyfrost.oneconfig.gui.elements.config.ConfigPageButton;
-import cc.polyfrost.oneconfig.lwjgl.RenderManager;
-import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
-
-import java.util.ArrayList;
-
-public class OptionSubcategory {
- private final String name;
- public ArrayList<BasicOption> options = new ArrayList<>();
- public ArrayList<ConfigPageButton> topButtons = new ArrayList<>();
- public ArrayList<ConfigPageButton> bottomButtons = new ArrayList<>();
- private ArrayList<BasicOption> filteredOptions = new ArrayList<>();
- private int drawLastY;
-
- public OptionSubcategory(String name) {
- this.name = name;
- }
-
- public int draw(long vg, int x, int y) {
- String filter = OneConfigGui.INSTANCE == null ? "" : OneConfigGui.INSTANCE.getSearchValue().toLowerCase().trim();
- filteredOptions = new ArrayList<>(options);
- ArrayList<ConfigPageButton> filteredTop = new ArrayList<>(topButtons);
- ArrayList<ConfigPageButton> filteredBottom = new ArrayList<>(bottomButtons);
- if (!filter.equals("") && !name.toLowerCase().contains(filter)) {
- filteredOptions.clear();
- filteredTop.clear();
- filteredBottom.clear();
- for (BasicOption option : options) {
- if (option.getName().toLowerCase().contains(filter)) filteredOptions.add(option);
- }
- for (ConfigPageButton page : topButtons) {
- if (page.getName().toLowerCase().contains(filter) || page.description.toLowerCase().contains(filter))
- filteredTop.add(page);
- }
- for (ConfigPageButton page : bottomButtons) {
- if (page.getName().toLowerCase().contains(filter) || page.description.toLowerCase().contains(filter))
- filteredBottom.add(page);
- }
- }
- if (filteredOptions.size() == 0 && filteredTop.size() == 0 && filteredBottom.size() == 0) return 0;
- int optionY = y;
- if (!name.equals("")) {
- RenderManager.drawText(vg, name, x, y + 12, OneConfigConfig.WHITE_90, 24, Fonts.MEDIUM);
- optionY += 36;
- }
-
- for (ConfigPageButton page : filteredTop) {
- page.draw(vg, x, optionY);
- optionY += page.getHeight() + 16;
- }
-
- if (filteredOptions.size() > 0) {
- int backgroundSize = 16;
- for (int i = 0; i < filteredOptions.size(); i++) {
- BasicOption option = filteredOptions.get(i);
- if (i + 1 < filteredOptions.size()) {
- BasicOption nextOption = filteredOptions.get(i + 1);
- if (option.size == 1 && option.hasHalfSize() && nextOption.size == 1 && nextOption.hasHalfSize()) {
- backgroundSize += Math.max(option.getHeight(), nextOption.getHeight()) + 16;
- i++;
- continue;
- }
- }
- backgroundSize += option.getHeight() + 16;
- }
- RenderManager.drawRoundedRect(vg, x - 16, optionY, 1024, backgroundSize, OneConfigConfig.GRAY_900, 20);
- optionY += 16;
- }
-
- drawLastY = optionY;
- if (filteredOptions.size() > 0) {
- for (int i = 0; i < filteredOptions.size(); i++) {
- BasicOption option = filteredOptions.get(i);
- option.draw(vg, x, optionY);
- if (i + 1 < filteredOptions.size()) {
- BasicOption nextOption = filteredOptions.get(i + 1);
- if (option.size == 1 && option.hasHalfSize() && nextOption.size == 1 && nextOption.hasHalfSize()) {
- nextOption.draw(vg, x + 512, optionY);
- optionY += Math.max(option.getHeight(), nextOption.getHeight()) + 16;
- i++;
- continue;
- }
- }
- optionY += option.getHeight() + 16;
- }
- optionY += 16;
- }
-
- for (ConfigPageButton page : filteredBottom) {
- page.draw(vg, x, optionY);
- optionY += page.getHeight() + 16;
- }
-
- return optionY - y;
- }
-
- public void drawLast(long vg, int x) {
- for (int i = 0; i < filteredOptions.size(); i++) {
- BasicOption option = filteredOptions.get(i);
- option.drawLast(vg, x, drawLastY);
- if (i + 1 < filteredOptions.size()) {
- BasicOption nextOption = filteredOptions.get(i + 1);
- if (option.size == 1 && option.hasHalfSize() && nextOption.size == 1 && nextOption.hasHalfSize()) {
- nextOption.drawLast(vg, x + 512, drawLastY);
- drawLastY += Math.max(option.getHeight(), nextOption.getHeight()) + 16;
- i++;
- continue;
- }
- }
- drawLastY += option.getHeight() + 16;
- }
- }
-
- public String getName() {
- return name;
- }
-}