82 lines
2.5 KiB
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;
|
|
}
|
|
}
|