use of buildcraft.lib.gui.help.ElementHelpInfo.HelpPosition in project BuildCraft by BuildCraft.
the class LedgerHelp method drawForeground.
@Override
public void drawForeground(float partialTicks) {
super.drawForeground(partialTicks);
if (!shouldDrawOpen()) {
return;
}
boolean set = false;
List<HelpPosition> elements = new ArrayList<>();
for (IGuiElement element : gui.shownElements) {
element.addHelpElements(elements);
foundAny |= elements.size() > 0;
for (HelpPosition info : elements) {
IGuiArea rect = info.target;
boolean isHovered = rect.contains(gui.mouse);
if (isHovered) {
if (selected != element && !set) {
selected = element;
GuiElementContainerHelp container = new GuiElementContainerHelp(gui, positionLedgerInnerStart);
info.info.addGuiElements(container);
if (openElements.size() == 2) {
openElements.remove(1);
}
openElements.add(container);
title = LocaleUtil.localize("gui.ledger.help") + ": " + LocaleUtil.localize(info.info.title);
calculateMaxSize();
set = true;
}
}
boolean isSelected = selected == element;
SpriteNineSliced split = SPRITE_HELP_SPLIT[isHovered ? 1 : 0][isSelected ? 1 : 0];
RenderUtil.setGLColorFromInt(info.info.colour);
split.draw(rect);
}
elements.clear();
}
GlStateManager.color(1, 1, 1);
}
use of buildcraft.lib.gui.help.ElementHelpInfo.HelpPosition in project BuildCraft by BuildCraft.
the class LedgerHelp method drawIcon.
@Override
protected void drawIcon(double x, double y) {
if (!init) {
init = true;
List<HelpPosition> elements = new ArrayList<>();
for (IGuiElement element : gui.shownElements) {
element.addHelpElements(elements);
}
foundAny = elements.size() > 0;
}
ISprite sprite = foundAny ? BCLibSprites.HELP : BCLibSprites.WARNING_MINOR;
GuiIcon.draw(sprite, x, y, x + 16, y + 16);
}
Aggregations