forked from Clones/Controlify
🧹 Minor cleanup to the button guide api
This commit is contained in:
@ -1,23 +1,20 @@
|
||||
package dev.isxander.controlify.gui;
|
||||
|
||||
import dev.isxander.controlify.api.bind.ControllerBinding;
|
||||
import dev.isxander.controlify.api.bind.BindingSupplier;
|
||||
import dev.isxander.controlify.api.buttonguide.ButtonGuidePredicate;
|
||||
import dev.isxander.controlify.api.buttonguide.ButtonRenderPosition;
|
||||
import dev.isxander.controlify.bindings.ControllerBindings;
|
||||
import net.minecraft.client.gui.components.AbstractButton;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
/**
|
||||
* @see dev.isxander.controlify.mixins.feature.guide.screen.AbstractButtonMixin
|
||||
*/
|
||||
public interface ButtonGuideRenderer<T extends AbstractButton> {
|
||||
void setButtonGuide(RenderData<T> renderData);
|
||||
|
||||
static <T extends AbstractButton> void registerBindingForButton(T button, Function<ControllerBindings<?>, ControllerBinding> binding, ButtonRenderPosition position, ButtonGuidePredicate<T> renderPredicate) {
|
||||
static <T extends AbstractButton> void registerBindingForButton(T button, BindingSupplier binding, ButtonRenderPosition position, ButtonGuidePredicate<T> renderPredicate) {
|
||||
((ButtonGuideRenderer<T>) button).setButtonGuide(new RenderData<>(binding, position, renderPredicate));
|
||||
}
|
||||
|
||||
record RenderData<T extends AbstractButton>(Function<ControllerBindings<?>, ControllerBinding> binding, ButtonRenderPosition position, ButtonGuidePredicate<T> renderPredicate) {
|
||||
record RenderData<T extends AbstractButton>(BindingSupplier binding, ButtonRenderPosition position, ButtonGuidePredicate<T> renderPredicate) {
|
||||
}
|
||||
}
|
||||
|
@ -90,8 +90,8 @@ public class ControllerCarouselScreen extends Screen implements ScreenController
|
||||
grid.arrangeElements();
|
||||
FrameLayout.centerInRectangle(grid, 0, this.height - 36, this.width, 36);
|
||||
|
||||
ButtonGuideApi.addGuideToButton(globalSettingsButton, bindings -> bindings.GUI_ABSTRACT_ACTION_1, ButtonRenderPosition.TEXT, ButtonGuidePredicate.ALWAYS);
|
||||
ButtonGuideApi.addGuideToButton(doneButton, bindings -> bindings.GUI_BACK, ButtonRenderPosition.TEXT, ButtonGuidePredicate.ALWAYS);
|
||||
ButtonGuideApi.addGuideToButtonBuiltin(globalSettingsButton, bindings -> bindings.GUI_ABSTRACT_ACTION_1, ButtonRenderPosition.TEXT, ButtonGuidePredicate.ALWAYS);
|
||||
ButtonGuideApi.addGuideToButtonBuiltin(doneButton, bindings -> bindings.GUI_BACK, ButtonRenderPosition.TEXT, ButtonGuidePredicate.ALWAYS);
|
||||
}
|
||||
|
||||
public void refreshControllers() {
|
||||
|
Reference in New Issue
Block a user