added tab and close on config

This commit is contained in:
2025-03-31 14:07:40 +02:00
parent abecd17597
commit 0c20cb64fb
5 changed files with 236 additions and 249 deletions
@@ -13,7 +13,6 @@ import org.saturnclient.saturnclient.event.KeyInputHandler;
import org.saturnclient.saturnmods.ModManager; import org.saturnclient.saturnmods.ModManager;
import org.saturnclient.ui.SaturnAnimation; import org.saturnclient.ui.SaturnAnimation;
import org.saturnclient.ui.animations.FadeIn; import org.saturnclient.ui.animations.FadeIn;
import org.saturnclient.ui.animations.Slide;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -47,7 +46,7 @@ public class SaturnClient implements ModInitializer {
} }
public static SaturnAnimation[] getAnimations() { public static SaturnAnimation[] getAnimations() {
return new SaturnAnimation[] { new FadeIn(1), new Slide(3, 15) }; return new SaturnAnimation[] { new FadeIn(1) };
} }
@Override @Override
@@ -12,6 +12,7 @@ import org.saturnclient.ui.components.SaturnHex;
import org.saturnclient.ui.components.SaturnInteger; import org.saturnclient.ui.components.SaturnInteger;
import org.saturnclient.ui.components.SaturnString; import org.saturnclient.ui.components.SaturnString;
import org.saturnclient.ui.components.SaturnToggle; import org.saturnclient.ui.components.SaturnToggle;
import org.saturnclient.ui.widgets.SaturnImageButton;
import org.saturnclient.ui.widgets.SaturnScroll; import org.saturnclient.ui.widgets.SaturnScroll;
import org.saturnclient.ui.widgets.SaturnSprite; import org.saturnclient.ui.widgets.SaturnSprite;
import org.saturnclient.ui.widgets.SaturnText; import org.saturnclient.ui.widgets.SaturnText;
@@ -39,20 +40,17 @@ public class ConfigEditor extends SaturnUi {
.setY(rectY) .setY(rectY)
.setWidth(rectWidth) .setWidth(rectWidth)
.setHeight(rectHeight) .setHeight(rectHeight)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
int tabsX = (width - 43) / 2;
int tabsY = rectY - 17;
draw( draw(
new SaturnSprite(Textures.TABS) new SaturnImageButton(Textures.CLOSE, 9, 9, () -> {
.setX(tabsX) this.close();
.setY(tabsY) })
.setWidth(43) .setX(rectX)
.setHeight(15) .setY(rectY - 15)
.setAnimations(SaturnClient.getAnimations()) .setWidth(13)
); .setHeight(13)
.setAnimations(SaturnClient.getAnimations()));
SaturnScroll configScroll = new SaturnScroll(); SaturnScroll configScroll = new SaturnScroll();
@@ -80,97 +78,78 @@ public class ConfigEditor extends SaturnUi {
configScroll.draw( configScroll.draw(
new SaturnToggle((Property<Boolean>) prop) new SaturnToggle((Property<Boolean>) prop)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY));
);
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX + 18) .setX(modX + 18)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
break; break;
case INTEGER: case INTEGER:
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
configScroll.draw( configScroll.draw(
new SaturnInteger( new SaturnInteger(
(Property<Integer>) prop, (Property<Integer>) prop,
(rectWidth / 2) - 17, (rectWidth / 2) - 17,
modY, modY,
70 70));
)
);
break; break;
case FLOAT: case FLOAT:
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
configScroll.draw( configScroll.draw(
new SaturnFloat( new SaturnFloat(
(Property<Float>) prop, (Property<Float>) prop,
(rectWidth / 2) - 17, (rectWidth / 2) - 17,
modY, modY,
70 70));
)
);
break; break;
case STRING: case STRING:
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
configScroll.draw( configScroll.draw(
new SaturnString( new SaturnString(
(Property<String>) prop, (Property<String>) prop,
(rectWidth / 2) - 17, (rectWidth / 2) - 17,
modY, modY,
70 70));
)
);
break; break;
case HEX: case HEX:
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
configScroll.draw( configScroll.draw(
new SaturnHex( new SaturnHex(
(Property<Integer>) prop, (Property<Integer>) prop,
(rectWidth / 2) - 17, (rectWidth / 2) - 17,
modY, modY,
70 70));
)
);
break; break;
} }
@@ -191,8 +170,7 @@ public class ConfigEditor extends SaturnUi {
.setY(rectY + 10) .setY(rectY + 10)
.setWidth(rectWidth - 17) .setWidth(rectWidth - 17)
.setHeight(rectHeight - 10) .setHeight(rectHeight - 10)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
super.init(); super.init();
} }
@@ -31,8 +31,7 @@ public class ModMenu extends SaturnUi {
.setY(modsY) .setY(modsY)
.setWidth(rectWidth) .setWidth(rectWidth)
.setHeight(rectHeight) .setHeight(rectHeight)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
int tabsX = (width - 43) / 2; int tabsX = (width - 43) / 2;
int tabsY = modsY - 17; int tabsY = modsY - 17;
@@ -43,8 +42,7 @@ public class ModMenu extends SaturnUi {
.setY(tabsY) .setY(tabsY)
.setWidth(43) .setWidth(43)
.setHeight(15) .setHeight(15)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
int tabSize = 9; int tabSize = 9;
tabsX = (width - tabSize) / 2; tabsX = (width - tabSize) / 2;
@@ -56,19 +54,17 @@ public class ModMenu extends SaturnUi {
.setY(tabsY + 3) .setY(tabsY + 3)
.setWidth(tabSize) .setWidth(tabSize)
.setHeight(tabSize) .setHeight(tabSize)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
draw( draw(
new SaturnClickableImage(Textures.MODS_TAB, () -> { new SaturnClickableImage(Textures.MODS_TAB, () -> {
System.out.println("Pressed");
}) })
.setColor(SaturnClient.COLOR.value)
.setX(tabsX - 12) .setX(tabsX - 12)
.setY(tabsY + 3) .setY(tabsY + 3)
.setWidth(tabSize) .setWidth(tabSize)
.setHeight(tabSize) .setHeight(tabSize)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
draw( draw(
new SaturnClickableImage(Textures.SEARCH, () -> { new SaturnClickableImage(Textures.SEARCH, () -> {
@@ -78,8 +74,7 @@ public class ModMenu extends SaturnUi {
.setY(tabsY + 3) .setY(tabsY + 3)
.setWidth(tabSize) .setWidth(tabSize)
.setHeight(tabSize) .setHeight(tabSize)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
int modX = 0; int modX = 0;
int modY = 0; int modY = 0;
@@ -93,8 +88,7 @@ public class ModMenu extends SaturnUi {
.setX(modX) .setX(modX)
.setY(modY) .setY(modY)
.setWidth(86) .setWidth(86)
.setHeight(20) .setHeight(20));
);
col++; col++;
@@ -113,8 +107,7 @@ public class ModMenu extends SaturnUi {
.setY(modsY + 10) .setY(modsY + 10)
.setWidth(rectWidth - 17) .setWidth(rectWidth - 17)
.setHeight(rectHeight - 20) .setHeight(rectHeight - 20)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
super.init(); super.init();
} }
@@ -11,6 +11,7 @@ import org.saturnclient.ui.components.SaturnHex;
import org.saturnclient.ui.components.SaturnInteger; import org.saturnclient.ui.components.SaturnInteger;
import org.saturnclient.ui.components.SaturnString; import org.saturnclient.ui.components.SaturnString;
import org.saturnclient.ui.components.SaturnToggle; import org.saturnclient.ui.components.SaturnToggle;
import org.saturnclient.ui.widgets.SaturnClickableImage;
import org.saturnclient.ui.widgets.SaturnScroll; import org.saturnclient.ui.widgets.SaturnScroll;
import org.saturnclient.ui.widgets.SaturnSprite; import org.saturnclient.ui.widgets.SaturnSprite;
import org.saturnclient.ui.widgets.SaturnText; import org.saturnclient.ui.widgets.SaturnText;
@@ -35,8 +36,7 @@ public class SaturnConfigEditor extends SaturnUi {
.setY(rectY) .setY(rectY)
.setWidth(rectWidth) .setWidth(rectWidth)
.setHeight(rectHeight) .setHeight(rectHeight)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
int tabsX = (width - 43) / 2; int tabsX = (width - 43) / 2;
int tabsY = rectY - 17; int tabsY = rectY - 17;
@@ -47,8 +47,40 @@ public class SaturnConfigEditor extends SaturnUi {
.setY(tabsY) .setY(tabsY)
.setWidth(43) .setWidth(43)
.setHeight(15) .setHeight(15)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
int tabSize = 9;
tabsX = (width - tabSize) / 2;
draw(
new SaturnClickableImage(Textures.SETTINGS, () -> {
client.setScreen(new SaturnConfigEditor());
})
.setColor(SaturnClient.COLOR.value)
.setX(tabsX)
.setY(tabsY + 3)
.setWidth(tabSize)
.setHeight(tabSize)
.setAnimations(SaturnClient.getAnimations()));
draw(
new SaturnClickableImage(Textures.MODS_TAB, () -> {
client.setScreen(new ModMenu());
})
.setX(tabsX - 12)
.setY(tabsY + 3)
.setWidth(tabSize)
.setHeight(tabSize)
.setAnimations(SaturnClient.getAnimations()));
draw(
new SaturnClickableImage(Textures.SEARCH, () -> {
System.out.println("Pressed");
})
.setX(tabsX + 12)
.setY(tabsY + 3)
.setWidth(tabSize)
.setHeight(tabSize)
.setAnimations(SaturnClient.getAnimations()));
SaturnScroll configScroll = new SaturnScroll(); SaturnScroll configScroll = new SaturnScroll();
@@ -76,97 +108,78 @@ public class SaturnConfigEditor extends SaturnUi {
configScroll.draw( configScroll.draw(
new SaturnToggle((Property<Boolean>) prop) new SaturnToggle((Property<Boolean>) prop)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY));
);
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX + 18) .setX(modX + 18)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
break; break;
case INTEGER: case INTEGER:
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
configScroll.draw( configScroll.draw(
new SaturnInteger( new SaturnInteger(
(Property<Integer>) prop, (Property<Integer>) prop,
(rectWidth / 2) - 17, (rectWidth / 2) - 17,
modY, modY,
70 70));
)
);
break; break;
case FLOAT: case FLOAT:
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
configScroll.draw( configScroll.draw(
new SaturnFloat( new SaturnFloat(
(Property<Float>) prop, (Property<Float>) prop,
(rectWidth / 2) - 17, (rectWidth / 2) - 17,
modY, modY,
70 70));
)
);
break; break;
case STRING: case STRING:
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
configScroll.draw( configScroll.draw(
new SaturnString( new SaturnString(
(Property<String>) prop, (Property<String>) prop,
(rectWidth / 2) - 17, (rectWidth / 2) - 17,
modY, modY,
70 70));
)
);
break; break;
case HEX: case HEX:
configScroll.draw( configScroll.draw(
new SaturnText( new SaturnText(
propName.substring(0, 1).toUpperCase() + propName.substring(0, 1).toUpperCase() +
propName.substring(1) propName.substring(1))
)
.setX(modX) .setX(modX)
.setY(modY) .setY(modY)
.setScale(0.8f) .setScale(0.8f));
);
configScroll.draw( configScroll.draw(
new SaturnHex( new SaturnHex(
(Property<Integer>) prop, (Property<Integer>) prop,
(rectWidth / 2) - 17, (rectWidth / 2) - 17,
modY, modY,
70 70));
)
);
break; break;
} }
@@ -187,8 +200,7 @@ public class SaturnConfigEditor extends SaturnUi {
.setY(rectY + 10) .setY(rectY + 10)
.setWidth(rectWidth - 17) .setWidth(rectWidth - 17)
.setHeight(rectHeight - 10) .setHeight(rectHeight - 10)
.setAnimations(SaturnClient.getAnimations()) .setAnimations(SaturnClient.getAnimations()));
);
super.init(); super.init();
} }
@@ -55,4 +55,9 @@ public class SaturnClickableImage extends SaturnWidget {
this.selected = selected; this.selected = selected;
return this; return this;
} }
public SaturnClickableImage setColor(int c) {
this.color = c;
return this;
}
} }