Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.mcskill.mod.PixelmonUI.side.client.gui;
- import java.awt.Color;
- import gg.essential.elementa.UIComponent;
- import gg.essential.elementa.components.LabelComponent;
- import gg.essential.elementa.components.UIBlock;
- import gg.essential.elementa.constraints.CenterConstraint;
- import gg.essential.elementa.constraints.ChildBasedSizeConstraint;
- import gg.essential.elementa.constraints.PixelConstraint;
- import gg.essential.elementa.constraints.animation.AnimatingConstraints;
- import gg.essential.elementa.constraints.animation.Animations;
- import gg.essential.elementa.effects.ScissorEffect;
- import gg.essential.universal.UMatrixStack;
- public class Slider extends UIBlock{
- public float min;
- public float max;
- public float value = 0.7f;
- public String title = "";
- public Color bg_color = new Color(255, 255, 255, 100);
- public Color value_color = new Color(0, 0, 0, 100);
- final UIBlock body;
- final LabelComponent title_label;
- final UIBlock button_plus;
- final LabelComponent btn_p_lbl;
- final LabelComponent value_label;
- final UIBlock button_minus;
- final LabelComponent btn_m_lbl;
- public Slider(float min, float max, float def_value, String title) {
- //super();
- //System.out.println(this.getWidth());
- this.title = title;
- this.min = min;
- this.max = max;
- this.value = def_value;
- body = new UIBlock();
- title_label = new LabelComponent(title);
- button_plus = new UIBlock();
- btn_p_lbl = new LabelComponent("+");
- value_label = new LabelComponent(String.valueOf(def_value));
- button_minus = new UIBlock();
- btn_m_lbl = new LabelComponent("-");
- this.addChild(body);
- body.addChild(title_label);
- body.addChild(button_plus);
- body.addChild(value_label);
- body.addChild(button_minus);
- button_plus.addChild(btn_p_lbl);
- button_minus.addChild(btn_m_lbl);
- /*
- this.bg = new UIBlock();
- this.addChild(bg);
- bg.setWidth(new PixelConstraint(this.getWidth()));
- bg.setHeight(new PixelConstraint(this.getHeight()));
- bg.setX(new PixelConstraint(0));
- bg.setY(new PixelConstraint(0));
- bg.setColor(bg_color);
- //bg.setChildOf(this);
- */
- }
- @Override
- public void draw(final UMatrixStack matrixStack) {
- //System.out.println(this.getParent().toString());
- //bg.draw();
- //System.out.println("Рисует");
- //System.out.println(this.getWidth());
- //LabelComponent title_label = new LabelComponent(title);
- title_label.setTextScale(new PixelConstraint(7.7f));
- title_label.setX(new PixelConstraint(3));
- //title_label.setChildOf(this);
- //UIBlock button_plus = new UIBlock();
- button_plus.setWidth(new PixelConstraint(10));
- button_plus.setHeight(new PixelConstraint(10));
- button_plus.setX(new PixelConstraint(this.getWidth() - 10));
- button_plus.setY(new PixelConstraint(-1.5f));
- button_plus.setColor(new Color(255,255,255,50));
- //LabelComponent btn_p_lbl = new LabelComponent("+");
- btn_p_lbl.setTextScale(new PixelConstraint(title_label.getTextScale()));
- btn_p_lbl.setColor(Color.green);
- btn_p_lbl.setX(new PixelConstraint((button_plus.getWidth() / 2) - (btn_p_lbl.getTextWidth() / 2) - 0.16f));
- btn_p_lbl.setY(new PixelConstraint((button_plus.getHeight() / 2) - 3.6f));
- //button_plus.setChildOf(this);
- //btn_p_lbl.setChildOf(button_plus);
- //LabelComponent value_label = new LabelComponent();
- value_label.setText(String.valueOf(value));
- value_label.setX(new PixelConstraint(this.getWidth() - (button_plus.getWidth() + 15)));
- value_label.setTextScale(new PixelConstraint(title_label.getTextScale()));
- //value_label.setChildOf(this);
- //UIBlock button_minus = new UIBlock();
- button_minus.setWidth(new PixelConstraint(10));
- button_minus.setHeight(new PixelConstraint(10));
- button_minus.setX(new PixelConstraint(this.getWidth() - (button_plus.getWidth() + value_label.getTextWidth() + 20)));
- button_minus.setY(new PixelConstraint(-1.5f));
- button_minus.setColor(new Color(255,0,0,50));
- //LabelComponent btn_m_lbl = new LabelComponent("-");
- btn_m_lbl.setTextScale(new PixelConstraint(title_label.getTextScale()));
- btn_m_lbl.setColor(Color.red);
- btn_m_lbl.setX(new PixelConstraint((button_minus.getWidth() / 2) - (btn_m_lbl.getTextWidth() / 2) - 0.25f));
- btn_m_lbl.setY(new PixelConstraint((button_minus.getHeight() / 2) - 2.5f));
- //button_plus.enableEffect(new ScissorEffect());
- //button_minus.setChildOf(this);
- //btn_m_lbl.setChildOf(button_minus);
- body.draw();
- button_plus.onMouseClickConsumer(uiClickEvent -> {
- increment(0.1f);
- System.out.println("Button pressed, value is: " + value);
- });
- }
- public float get_value() {
- return value;
- }
- private boolean increment(float inc) {
- if (value + inc > max || value + inc < min) {
- return false;
- } else {
- value += inc;
- return true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement