aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/detrav/gui
diff options
context:
space:
mode:
authorDetrav <witalyezep@gmail.com>2016-03-21 17:55:27 +0300
committerDetrav <witalyezep@gmail.com>2016-03-21 17:55:27 +0300
commit59b52ae2912ede30a0ee86c6358130905b5a0cf5 (patch)
tree1a5e4356cc92a6c1337c05a7ea43d39e15e846a9 /src/main/java/com/detrav/gui
parenta9b3c6fe4f335bb4349f297fdf090c202e8105fa (diff)
downloadGT5-Unofficial-59b52ae2912ede30a0ee86c6358130905b5a0cf5.tar.gz
GT5-Unofficial-59b52ae2912ede30a0ee86c6358130905b5a0cf5.tar.bz2
GT5-Unofficial-59b52ae2912ede30a0ee86c6358130905b5a0cf5.zip
Complete sample gui
Diffstat (limited to 'src/main/java/com/detrav/gui')
-rw-r--r--src/main/java/com/detrav/gui/DetravGuiProPick.java89
-rw-r--r--src/main/java/com/detrav/gui/DetravMapTexture.java4
2 files changed, 87 insertions, 6 deletions
diff --git a/src/main/java/com/detrav/gui/DetravGuiProPick.java b/src/main/java/com/detrav/gui/DetravGuiProPick.java
index ebb098f6a3..0abc3ada57 100644
--- a/src/main/java/com/detrav/gui/DetravGuiProPick.java
+++ b/src/main/java/com/detrav/gui/DetravGuiProPick.java
@@ -1,7 +1,18 @@
package com.detrav.gui;
+import cpw.mods.fml.client.GuiScrollingList;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.entity.AbstractClientPlayer;
+import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureUtil;
+import net.minecraft.util.ResourceLocation;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
/**
* Created by wital_000 on 21.03.2016.
@@ -9,6 +20,8 @@ import net.minecraft.client.renderer.texture.TextureUtil;
public class DetravGuiProPick extends GuiScreen {
public static final int GUI_ID = 20;
private static DetravMapTexture map = null;
+ ListOres ores = null;
+
public DetravGuiProPick()
{
@@ -21,8 +34,11 @@ public class DetravGuiProPick extends GuiScreen {
}
map = aMap;
map.loadTexture(null);
+ //ores = new ListOres(Minecraft.getMinecraft(),)
}
+ int prevW;
+ int prevH;
@Override
@@ -30,15 +46,76 @@ public class DetravGuiProPick extends GuiScreen {
this.drawDefaultBackground();
if(map!=null)
{
- int aX = (this.width - map.width)/2;
+ List<String> keys = new ArrayList(map.ores.keySet());
+ Collections.sort(keys);
+ int w = 0;
+ for(String item : keys)
+ {
+ w = Math.max(fontRendererObj.getStringWidth(item),w);
+ }
+ w+=10;
+
+ int aX = (this.width - map.width-100)/2;
int aY = (this.height - map.height)/2;
+
+ if(ores == null)
+ {
+ ores = new ListOres(this,100,map.height,aY,aY+map.height,aX+map.width,10,map.ores);
+ prevW = width;
+ prevH = height;
+ }
+ if(prevW!=width || prevH !=height)
+ {
+ ores = new ListOres(this,100,map.height,aY,aY+map.height,aX+map.width,10,map.ores);
+ prevW = width;
+ prevH = height;
+ }
+
map.glBindTexture();
map.draw(aX,aY);
- //this.drawTexturedModalRect(aX,aY,0,0,map.width,map.height);
+ ores.drawScreen(0,0,f);
+ }
+ }
+
+ class ListOres extends GuiScrollingList
+ {
+ HashMap<String,Integer> ores = null;
+ List<String> keys = null;
+
+ public ListOres(GuiScreen parent, int width, int height, int top, int bottom, int left, int entryHeight,HashMap<String,Integer> aOres) {
+ super(parent.mc, width, height, top, bottom, left, entryHeight);
+ ores = aOres;
+ keys = new ArrayList(map.ores.keySet());
+ Collections.sort(keys);
+ }
+
+ @Override
+ protected int getSize() {
+ return ores.size();
+ }
+
+ @Override
+ protected void elementClicked(int index, boolean doubleClick) {
+
+ }
+
+ @Override
+ protected boolean isSelected(int index) {
+ return false;
+ }
+
+ @Override
+ protected void drawBackground() {
+ //drawRect(this.left,this.top,this.listWidth,this.listHeight,0xFFFFFFFF);
+ }
+
+ @Override
+ protected void drawSlot(int slotIdx, int entryRight, int slotTop, int slotBuffer, Tessellator tess) {
+ //drawString(fontRendererObj,);
+ //fontRendererObj.drawString(fontRendererObj.trimStringToWidth())
+
+ fontRendererObj.drawString(fontRendererObj.trimStringToWidth(keys.get(slotIdx), listWidth - 10), this.left + 3 , slotTop + 2, ores.get(keys.get(slotIdx)));
+
}
- //TextureUtil.glGenTextures()
- //this.mc.renderEngine.bindTexture();
- //this.drawTexturedModelRectFromIcon();
- //this.drawTexturedModalRect();
}
}
diff --git a/src/main/java/com/detrav/gui/DetravMapTexture.java b/src/main/java/com/detrav/gui/DetravMapTexture.java
index 38977db6e5..ab58128ee2 100644
--- a/src/main/java/com/detrav/gui/DetravMapTexture.java
+++ b/src/main/java/com/detrav/gui/DetravMapTexture.java
@@ -9,6 +9,8 @@ import org.lwjgl.opengl.GL11;
import java.awt.image.BufferedImage;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
/**
* Created by wital_000 on 21.03.2016.
@@ -24,6 +26,7 @@ public class DetravMapTexture extends AbstractTexture {
public int width = -1;
public int height = -1;
+ public HashMap<String,Integer> ores = null;
@Override
public void loadTexture(IResourceManager p_110551_1_){
@@ -36,6 +39,7 @@ public class DetravMapTexture extends AbstractTexture {
TextureUtil.uploadTextureImageAllocate(this.getGlTextureId(), bufferedimage, false, false);
width = packet.getSize();
height = packet.getSize();
+ ores = packet.getOres();
}
//GL11.glDrawPixels();
}