diff options
author | Detrav <witalyezep@gmail.com> | 2016-03-21 17:55:27 +0300 |
---|---|---|
committer | Detrav <witalyezep@gmail.com> | 2016-03-21 17:55:27 +0300 |
commit | 59b52ae2912ede30a0ee86c6358130905b5a0cf5 (patch) | |
tree | 1a5e4356cc92a6c1337c05a7ea43d39e15e846a9 /src/main/java/com/detrav/gui | |
parent | a9b3c6fe4f335bb4349f297fdf090c202e8105fa (diff) | |
download | GT5-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.java | 89 | ||||
-rw-r--r-- | src/main/java/com/detrav/gui/DetravMapTexture.java | 4 |
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(); } |