ModularPowersuits/src/main/java/net/machinemuse/general/gui/frame/ItemInfoFrame.java

82 lines
2.5 KiB
Java

package net.machinemuse.general.gui.frame;
import net.machinemuse.api.IModularItem;
import net.machinemuse.numina.geometry.Colour;
import net.machinemuse.numina.geometry.MusePoint2D;
import net.machinemuse.general.gui.clickable.ClickableItem;
import net.machinemuse.utils.MuseItemUtils;
import net.machinemuse.utils.render.MuseRenderer;
import net.minecraft.entity.player.EntityPlayer;
import org.lwjgl.opengl.GL11;
import java.util.Arrays;
import java.util.List;
public class ItemInfoFrame extends ScrollableFrame {
public static final double SCALEFACTOR = 1;
protected ItemSelectionFrame target;
protected EntityPlayer player;
protected List<String> info;
public ItemInfoFrame(EntityPlayer player, MusePoint2D topleft,
MusePoint2D bottomright,
Colour borderColour, Colour insideColour, ItemSelectionFrame target) {
super(topleft.times(1.0 / SCALEFACTOR), bottomright.times(1.0 / SCALEFACTOR), borderColour, insideColour);
this.target = target;
this.player = player;
}
@Override
public void update(double mousex, double mousey) {
ClickableItem selected = target.getSelectedItem();
if (selected != null) {
IModularItem item = MuseItemUtils.getAsModular(selected.getItem().getItem());
info = item.getLongInfo(player, selected.getItem());
} else {
info = null;
}
}
@Override
public void draw() {
if (info != null) {
GL11.glPushMatrix();
GL11.glScaled(SCALEFACTOR, SCALEFACTOR, SCALEFACTOR);
super.draw();
int xoffset = 8;
int yoffset = 8;
int i = 0;
for (String infostring : info) {
String[] str = infostring.split("\t");
MuseRenderer.drawStringsJustified(Arrays.asList(str),
border.left()
+ xoffset, border.right() - xoffset,
border.top() + yoffset
+ i * 10);
i++;
}
GL11.glPopMatrix();
}
}
@Override
public void onMouseDown(double x, double y, int button) {
// TODO Auto-generated method stub
}
@Override
public void onMouseUp(double x, double y, int button) {
// TODO Auto-generated method stub
}
@Override
public List<String> getToolTip(int x, int y) {
// TODO Auto-generated method stub
return null;
}
}