Search in sources :

Example 1 with GuiElementContainerHelp

use of buildcraft.lib.gui.elem.GuiElementContainerHelp 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);
}
Also used : HelpPosition(buildcraft.lib.gui.help.ElementHelpInfo.HelpPosition) IGuiArea(buildcraft.lib.gui.pos.IGuiArea) ArrayList(java.util.ArrayList) IGuiElement(buildcraft.lib.gui.IGuiElement) GuiElementContainerHelp(buildcraft.lib.gui.elem.GuiElementContainerHelp) SpriteNineSliced(buildcraft.lib.client.sprite.SpriteNineSliced)

Aggregations

SpriteNineSliced (buildcraft.lib.client.sprite.SpriteNineSliced)1 IGuiElement (buildcraft.lib.gui.IGuiElement)1 GuiElementContainerHelp (buildcraft.lib.gui.elem.GuiElementContainerHelp)1 HelpPosition (buildcraft.lib.gui.help.ElementHelpInfo.HelpPosition)1 IGuiArea (buildcraft.lib.gui.pos.IGuiArea)1 ArrayList (java.util.ArrayList)1