summaryrefslogtreecommitdiff
path: root/src/main/java/net/tylermurphy/Minecraft/UI/UIMaster.java
diff options
context:
space:
mode:
authorTyler Murphy <tylerm@tylerm.dev>2023-04-17 12:12:01 -0400
committerTyler Murphy <tylerm@tylerm.dev>2023-04-17 12:12:01 -0400
commit180aad05decc7eefa87e4e45d6747c48f40e5361 (patch)
tree51545197f7c94b4022acab880772c9f4fc65db0e /src/main/java/net/tylermurphy/Minecraft/UI/UIMaster.java
downloadminecraftjava-180aad05decc7eefa87e4e45d6747c48f40e5361.tar.gz
minecraftjava-180aad05decc7eefa87e4e45d6747c48f40e5361.tar.bz2
minecraftjava-180aad05decc7eefa87e4e45d6747c48f40e5361.zip
save
Diffstat (limited to '')
-rwxr-xr-xsrc/main/java/net/tylermurphy/Minecraft/UI/UIMaster.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/main/java/net/tylermurphy/Minecraft/UI/UIMaster.java b/src/main/java/net/tylermurphy/Minecraft/UI/UIMaster.java
new file mode 100755
index 0000000..8709aab
--- /dev/null
+++ b/src/main/java/net/tylermurphy/Minecraft/UI/UIMaster.java
@@ -0,0 +1,65 @@
+package net.tylermurphy.Minecraft.UI;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.tylermurphy.Minecraft.Render.FontRenderer;
+import net.tylermurphy.Minecraft.Render.GuiRenderer;
+import net.tylermurphy.Minecraft.UI.Text.TextMaster;
+
+public class UIMaster {
+
+ private static List<UI> uis = new ArrayList<UI>();
+ private static int bindedID = 0;
+ protected static List<UIComponent> componentBatch = new ArrayList<UIComponent>();
+
+ public static void createUI(int id) {
+ uis.add(id,new UI());
+ bindedID = id;
+ }
+
+ private static UI getUI() {
+ return uis.get(bindedID);
+ }
+
+ public static void add(UIComponent... components) {
+ for(UIComponent component : components) {
+ getUI().add(component);
+ }
+ }
+
+ public static UIImage getImage(String key) {
+ return (UIImage) getUI().findKey(key);
+ }
+
+ public static UIText getText(String key) {
+ return (UIText) getUI().findKey(key);
+ }
+
+ public static void bindUI(int id) {
+ bindedID = id;
+ }
+
+ public static void setEnabled(boolean value) {
+ getUI().enabled = value;
+ }
+
+ public static boolean isEnabled() {
+ return getUI().enabled;
+ }
+
+ public static void renderUI(GuiRenderer renderer, FontRenderer fontrenderer) {
+ for(UI ui : uis) {
+ if(!ui.enabled) continue;
+ ui.prepare();
+ }
+ try{
+ UILayerQuickSort.quickSort(componentBatch, 0, componentBatch.size()-1);
+ } catch (Exception ignore) {}
+ renderer.render(componentBatch);
+ TextMaster.render(componentBatch,fontrenderer);
+ componentBatch.clear();
+ }
+
+}
+