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