Better module display
This commit is contained in:
@@ -22,11 +22,14 @@ public class SaturnModule extends Element {
|
||||
private static Property<Integer> barColor = theme.property("bar-color", new Property<Integer>(-1));
|
||||
private static Property<Integer> settingsFg = theme.property("settings-fg", new Property<Integer>(-1));
|
||||
private static Property<Integer> settingsBg = theme.property("settings-bg", new Property<Integer>(-16777216));
|
||||
private static Property<Integer> iconFg = theme.property("icon-fg", new Property<Integer>(-1));
|
||||
|
||||
private static Property<Integer> cornerRadius = theme.property("corner-radius", new Property<Integer>(10));
|
||||
private static Property<Integer> barWidth = theme.property("bar-width", new Property<Integer>(7));
|
||||
private static Property<Integer> padding = theme.property("padding", new Property<Integer>(10));
|
||||
|
||||
int settingsHeight = 26;
|
||||
|
||||
static {
|
||||
theme.propertyStateDefault("enabled", "bar-color", -7643914);
|
||||
theme.propertyStateDefault("hovering", "name-color", -7643914);
|
||||
@@ -44,13 +47,15 @@ public class SaturnModule extends Element {
|
||||
|
||||
@Override
|
||||
public void render(RenderScope renderScope, RenderContext ctx) {
|
||||
renderScope.setRenderLayer(RenderLayer::getGuiTextured);
|
||||
|
||||
if (mod.isEnabled()) {
|
||||
theme.setState("enabled");
|
||||
} else {
|
||||
theme.setState(null);
|
||||
}
|
||||
|
||||
if (ctx.isHovering(barWidth.value + padding.value, height - padding.value - 16, width - barWidth.value - (padding.value * 2), 16)) {
|
||||
if (ctx.isHovering(barWidth.value + padding.value, height - padding.value - settingsHeight, width - barWidth.value - (padding.value * 2), settingsHeight)) {
|
||||
theme.applyState("settings-hovering");
|
||||
} else if (ctx.isHovering()) {
|
||||
theme.applyState("hovering");
|
||||
@@ -62,28 +67,30 @@ public class SaturnModule extends Element {
|
||||
renderScope.drawRoundedRectangle(0, 0, barWidth.value * 2, height, cornerRadius.value, barColor.value);
|
||||
renderScope.disableScissor();
|
||||
|
||||
renderScope.drawText(mod.getName(), padding.value + barWidth.value, padding.value, true, nameColor.value);
|
||||
renderScope.drawTexture(mod.getIconTexture(), barWidth.value + padding.value, padding.value, 0, 0, 21, 21, iconFg.value);
|
||||
renderScope.drawText(mod.getName(), (int) (padding.value * 1.5f) + 21 + barWidth.value, padding.value + ((23 - Fonts.getHeight()) / 2), true, nameColor.value);
|
||||
|
||||
renderScope.matrices.push();
|
||||
renderScope.matrices.translate(padding.value + barWidth.value, 30, 0);
|
||||
renderScope.matrices.translate(padding.value + barWidth.value, 42, 0);
|
||||
renderScope.matrices.scale(0.7f, 0.7f, 1.0f);
|
||||
renderScope.drawText(formatText(mod.getDescription(), width - barWidth.value - padding.value), 0, 0, false, descriptionColor.value);
|
||||
renderScope.matrices.pop();
|
||||
|
||||
renderScope.drawRoundedRectangle(barWidth.value + padding.value, height - padding.value - settingsHeight, width - (padding.value * 2) - barWidth.value, settingsHeight, 10, settingsBg.value);
|
||||
|
||||
renderScope.drawTexture(Textures.SETTINGS, barWidth.value + (padding.value * 2), height - padding.value - settingsHeight + 5, 0, 0, 16, 16);
|
||||
|
||||
renderScope.setRenderLayer(RenderLayer::getGuiTextured);
|
||||
renderScope.drawRoundedRectangle(barWidth.value + padding.value, height - padding.value - 13, width - (padding.value * 2) - barWidth.value, 16, 10, settingsBg.value);
|
||||
renderScope.drawTexture(Textures.SETTINGS, barWidth.value + (padding.value * 2), height - padding.value - 10, 0, 0, 10, 10, settingsFg.value);
|
||||
renderScope.matrices.push();
|
||||
renderScope.matrices.translate(barWidth.value + (padding.value * 2) + 14, height - padding.value - 10, 0);
|
||||
renderScope.matrices.scale(0.7f, 0.7f, 1.0f);
|
||||
renderScope.matrices.translate(barWidth.value + (padding.value * 2) + 20, height - padding.value - (settingsHeight / 2), 0);
|
||||
renderScope.matrices.scale(0.7f, 0.7f, 1);
|
||||
renderScope.matrices.translate(0, -(Fonts.getHeight() / 2) + 2, 0);
|
||||
renderScope.drawText("Settings", 0, 0, false, settingsFg.value);
|
||||
renderScope.matrices.pop();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void click(int mouseX, int mouseY) {
|
||||
if (Utils.isHovering(mouseX - (barWidth.value + padding.value), mouseY - (height - padding.value - 16), width - barWidth.value - (padding.value * 2), 16, scale)) {
|
||||
if (Utils.isHovering(mouseX - (barWidth.value + padding.value), mouseY - (height - padding.value - settingsHeight), width - barWidth.value - (padding.value * 2), settingsHeight, scale)) {
|
||||
SaturnClient.client.setScreen(new ConfigEditor(mod.getConfig()));
|
||||
} else {
|
||||
mod.setEnabled(!mod.isEnabled());
|
||||
|
||||
Reference in New Issue
Block a user