use of gregtech.api.gui.widgets.CycleButtonWidget in project GregTech by GregTechCE.
the class SimpleMachineMetaTileEntity method createGuiTemplate.
protected ModularUI.Builder createGuiTemplate(EntityPlayer player) {
ModularUI.Builder builder = workable.recipeMap.createUITemplate(workable::getProgressPercent, importItems, exportItems, importFluids, exportFluids).widget(new LabelWidget(7, 5, getMetaFullName())).widget(new DischargerSlotWidget(chargerInventory, 0, 79, 62).setBackgroundTexture(GuiTextures.SLOT, GuiTextures.CHARGER_OVERLAY)).widget(new ImageWidget(79, 42, 18, 18, GuiTextures.INDICATOR_NO_ENERGY).setPredicate(workable::isHasNotEnoughEnergy)).bindPlayerInventory(player.inventory);
int leftButtonStartX = 7;
int rightButtonStartX = 176 - 7 - 45;
if (workable.recipeMap instanceof RecipeMapWithConfigButton) {
leftButtonStartX += ((RecipeMapWithConfigButton) workable.recipeMap).getLeftButtonOffset();
rightButtonStartX -= ((RecipeMapWithConfigButton) workable.recipeMap).getRightButtonOffset();
}
if (exportItems.getSlots() > 0) {
builder.widget(new ToggleButtonWidget(leftButtonStartX, 62, 18, 18, GuiTextures.BUTTON_ITEM_OUTPUT, this::isAutoOutputItems, this::setAutoOutputItems).setTooltipText("gregtech.gui.item_auto_output.tooltip"));
leftButtonStartX += 18;
}
if (exportFluids.getTanks() > 0) {
builder.widget(new ToggleButtonWidget(leftButtonStartX, 62, 18, 18, GuiTextures.BUTTON_FLUID_OUTPUT, this::isAutoOutputFluids, this::setAutoOutputFluids).setTooltipText("gregtech.gui.fluid_auto_output.tooltip"));
leftButtonStartX += 18;
}
builder.widget(new CycleButtonWidget(leftButtonStartX, 62, 18, 18, workable.getAvailableOverclockingTiers(), workable::getOverclockTier, workable::setOverclockTier).setTooltipHoverString("gregtech.gui.overclock.description").setButtonTexture(GuiTextures.BUTTON_OVERCLOCK));
return builder;
}
use of gregtech.api.gui.widgets.CycleButtonWidget in project GregTech by GregTechCE.
the class CoverFluidFilter method createUI.
public ModularUI createUI(EntityPlayer player) {
WidgetGroup fluidFilterGroup = new WidgetGroup();
fluidFilterGroup.addWidget(new LabelWidget(10, 5, "cover.fluid_filter.title"));
fluidFilterGroup.addWidget(new CycleButtonWidget(10, 20, 110, 20, GTUtility.mapToString(FluidFilterMode.values(), (it) -> it.localeName), () -> this.filterMode.ordinal(), (newMode) -> this.setFilterMode(FluidFilterMode.values()[newMode])));
this.fluidFilter.initUI(45, fluidFilterGroup::addWidget);
return ModularUI.builder(GuiTextures.BACKGROUND, 176, 105 + 82).widget(fluidFilterGroup).bindPlayerInventory(player.inventory, GuiTextures.SLOT, 7, 105).build(this, player);
}
use of gregtech.api.gui.widgets.CycleButtonWidget in project GregTech by GregTechCE.
the class CoverItemFilter method createUI.
@Override
public ModularUI createUI(EntityPlayer player) {
WidgetGroup filterGroup = new WidgetGroup();
filterGroup.addWidget(new LabelWidget(10, 5, titleLocale));
filterGroup.addWidget(new CycleButtonWidget(10, 20, 110, 20, GTUtility.mapToString(ItemFilterMode.values(), it -> it.localeName), () -> filterMode.ordinal(), (newMode) -> setFilterMode(ItemFilterMode.values()[newMode])));
this.itemFilter.initUI(45, filterGroup::addWidget);
return ModularUI.builder(GuiTextures.BACKGROUND, 176, 105 + 82).widget(filterGroup).bindPlayerInventory(player.inventory, GuiTextures.SLOT, 7, 105).build(this, player);
}
use of gregtech.api.gui.widgets.CycleButtonWidget in project GregTech by GregTechCE.
the class CoverRoboticArm method buildUI.
@Override
protected ModularUI buildUI(Builder builder, EntityPlayer player) {
WidgetGroup filterGroup = new WidgetGroup();
filterGroup.addWidget(new CycleButtonWidget(91, 45, 75, 20, TransferMode.class, this::getTransferMode, this::setTransferMode).setTooltipHoverString("cover.robotic_arm.transfer_mode.description"));
return super.buildUI(builder.widget(filterGroup), player);
}
Aggregations