diff options
author | Maxim <maxim235@gmx.de> | 2023-03-16 17:59:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-16 17:59:38 +0100 |
commit | e445e444e465326ca8e263f03f0a6708c19ea5e1 (patch) | |
tree | b40b817c837a81ec48a2351e4697c4071734d96b /src/main/java | |
parent | 1d25115add66a6fa74984da931948b6139300931 (diff) | |
download | GT5-Unofficial-e445e444e465326ca8e263f03f0a6708c19ea5e1.tar.gz GT5-Unofficial-e445e444e465326ca8e263f03f0a6708c19ea5e1.tar.bz2 GT5-Unofficial-e445e444e465326ca8e263f03f0a6708c19ea5e1.zip |
Add mode toggle button to PrAss GUI (#144)
* Added button to toggle mode on PrAss
* Derp
* Switched to cycle button
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java | 29 | ||||
-rw-r--r-- | src/main/java/goodgenerator/client/GUI/GG_UITextures.java | 4 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java index b403103d49..175a7e396e 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java @@ -6,6 +6,7 @@ import static com.github.bartimaeusnek.bartworks.util.RecipeFinderForParallel.ha import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static goodgenerator.util.DescTextLocalization.BLUE_PRINT_INFO; import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY; import static gregtech.api.util.GT_StructureUtility.ofFrame; import java.util.ArrayList; @@ -27,8 +28,13 @@ import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureUtility; +import com.gtnewhorizons.modularui.api.drawable.IDrawable; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget; import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_LongPowerUsageBase; +import goodgenerator.client.GUI.GG_UITextures; import goodgenerator.loader.Loaders; import goodgenerator.util.DescTextLocalization; import goodgenerator.util.MyRecipeAdder; @@ -36,6 +42,7 @@ import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -445,4 +452,26 @@ public class PreciseAssembler extends GT_MetaTileEntity_LongPowerUsageBase<Preci TextureFactory.builder().addIcon(textureFontOff_Glow).glow().build() }; } else return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(1539 + t) }; } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + super.addUIWidgets(builder, buildContext); + builder.widget( + new CycleButtonWidget().setToggle(() -> mode % 2 == 0, val -> mode = val ? 0 : 1) + .setPlayClickSound(true).setVariableBackgroundGetter((state) -> { + if (state == 0) { + return new IDrawable[] { GT_UITextures.BUTTON_STANDARD, + GG_UITextures.OVERLAY_BUTTON_ASSEMBLER_MODE }; + } + return new IDrawable[] { GT_UITextures.BUTTON_STANDARD, + GG_UITextures.OVERLAY_BUTTON_PRECISE_MODE }; + }).setPos(80, 91).setSize(16, 16) + .addTooltip(StatCollector.translateToLocal("gui.PreciseAssembler.mode")) + .setTooltipShowUpDelay(TOOLTIP_DELAY)); + } + + @Override + protected boolean isInputSeparationEnabled() { + return true; + } } diff --git a/src/main/java/goodgenerator/client/GUI/GG_UITextures.java b/src/main/java/goodgenerator/client/GUI/GG_UITextures.java index bf51238575..97d4599562 100644 --- a/src/main/java/goodgenerator/client/GUI/GG_UITextures.java +++ b/src/main/java/goodgenerator/client/GUI/GG_UITextures.java @@ -15,4 +15,8 @@ public class GG_UITextures { .fullImage(MODID, "gui/picture/component_assline"); public static final UITexture OVERLAY_BUTTON_LOCK_OFF = UITexture.fullImage(MODID, "gui/overlay_button/lock_off"); public static final UITexture OVERLAY_BUTTON_LOCK_ON = UITexture.fullImage(MODID, "gui/overlay_button/lock_on"); + public static final UITexture OVERLAY_BUTTON_ASSEMBLER_MODE = UITexture + .fullImage(MODID, "gui/overlay_button/assembler_mode"); + public static final UITexture OVERLAY_BUTTON_PRECISE_MODE = UITexture + .fullImage(MODID, "gui/overlay_button/precise_mode"); } |