package game;
import game.blocks.BlockManager;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.GL11;
import org.newdawn.slick.opengl.Texture;
public class ItemBox {
private static int selectedIndex = 0;
private static int[] blockIndices = new int[]{0,1,3,4,5,6,7,8,2};
public ItemBox() {
// TODO Auto-generated constructor stub
}
public static int getSelectedIndex() {
return selectedIndex;
}
public static void setSelectedIndex(int selectedIndex) {
ItemBox.selectedIndex = (selectedIndex < 0) ? 8 : selectedIndex % 9;
}
public static int getSelectedBlock() {
return blockIndices[selectedIndex];
}
public static void render() {
int startPosY = Display.getDesktopDisplayMode().getHeight() - 48 - 24;
int startPosX = (Display.getDesktopDisplayMode().getWidth() / 2) - (24 * 9);
for (int i = 0; i < 9; i++) {
if (getSelectedIndex() == i)
GL11.glColor4f(1f,1f,1f,1f);
else
GL11.glColor4f(1f,1f,1f,.5f);
Texture tex = TextureStore.getTexture("res/gui-itembox.png");
tex.bind();
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(startPosX,startPosY);
GL11.glTexCoord2f(0, tex.getHeight());
GL11.glVertex2f(startPosX+48,startPosY);
GL11.glTexCoord2f(tex.getWidth(), tex.getHeight());
GL11.glVertex2f(startPosX+48,startPosY+48);
GL11.glTexCoord2f(tex.getWidth(), 0);
GL11.glVertex2f(startPosX,startPosY+48);
GL11.glEnd();
if (blockIndices[i] > -1)
ItemBox.setBlock(i);
startPosX += 48;
}
}
public static void setBlock(int i) {
String[] textures = BlockManager.blocks[blockIndices[i]].getTexturePaths();
int startPosY = Display.getDesktopDisplayMode().getHeight() - 48 - 24 + 6;
int startPosX = (Display.getDesktopDisplayMode().getWidth() / 2) - (24 * 9) + (48 * i) + 6;
Texture tex;
// Draw top of cube
tex = TextureStore.getTexture(textures[0]);
tex.bind();
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(startPosX,startPosY + 9);
GL11.glTexCoord2f(0, tex.getHeight());
GL11.glVertex2f(startPosX+18,startPosY);
GL11.glTexCoord2f(tex.getWidth(), tex.getHeight());
GL11.glVertex2f(startPosX+36,startPosY+9);
GL11.glTexCoord2f(tex.getWidth(), 0);
GL11.glVertex2f(startPosX+18,startPosY+18);
GL11.glEnd();
// Draw left of cube
tex = TextureStore.getTexture(textures[2]);
tex.bind();
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(startPosX+18,startPosY+18);
GL11.glTexCoord2f(0, tex.getHeight());
GL11.glVertex2f(startPosX+18,startPosY+36);
GL11.glTexCoord2f(tex.getWidth(), tex.getHeight());
GL11.glVertex2f(startPosX,startPosY+27);
GL11.glTexCoord2f(tex.getWidth(), 0);
GL11.glVertex2f(startPosX,startPosY + 9);
GL11.glEnd();
tex = TextureStore.getTexture(textures[4]);
tex.bind();
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(startPosX+36,startPosY+ 9);
GL11.glTexCoord2f(0, tex.getHeight());
GL11.glVertex2f(startPosX+36,startPosY+27);
GL11.glTexCoord2f(tex.getWidth(), tex.getHeight());
GL11.glVertex2f(startPosX+18,startPosY + 36);
GL11.glTexCoord2f(tex.getWidth(), 0);
GL11.glVertex2f(startPosX+18,startPosY+18);
GL11.glEnd();
/*tex = TextureStore.getTexture(textures[4]);
tex.bind();
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(startPosX,startPosY + 9);
GL11.glTexCoord2f(0, tex.getHeight());
GL11.glVertex2f(startPosX+18,startPosY);
GL11.glTexCoord2f(tex.getWidth(), tex.getHeight());
GL11.glVertex2f(startPosX+36,startPosY+9);
GL11.glTexCoord2f(tex.getWidth(), 0);
GL11.glVertex2f(startPosX+18,startPosY+18);
GL11.glEnd();*/
}
}