mirror of
https://github.com/GravitLauncher/Launcher
synced 2024-12-23 09:01:08 +03:00
Опциональные моды в runtime
This commit is contained in:
parent
5ef915c00b
commit
06c94316dd
4 changed files with 49 additions and 12 deletions
|
@ -172,6 +172,7 @@ function goSettings(event) {
|
|||
}
|
||||
|
||||
// Show settings overlay
|
||||
updateOptional();
|
||||
overlay.show(settingsOverlay.overlay, null);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.CheckBox?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.layout.FlowPane?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<!-- DrLeonardo Design -->
|
||||
|
@ -12,14 +13,11 @@
|
|||
<children>
|
||||
<Pane id="holder" layoutX="171.0" layoutY="28.0" prefHeight="372.0" prefWidth="429.0">
|
||||
<children>
|
||||
<CheckBox fx:id="modid_0" layoutX="14.0" layoutY="14.0" text="NEI" />
|
||||
<Button fx:id="apply" defaultButton="true" layoutX="315.0" layoutY="333.0" prefHeight="25.0" prefWidth="100.0" text="Применить" />
|
||||
<Text fill="#8c8c8c" layoutX="38.0" layoutY="29.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение авто-входа означает что вы сразу после загрузки клиента попадете на сервер" wrappingWidth="379.00000374019146" y="15.0" />
|
||||
<CheckBox fx:id="modid_1" layoutX="14.0" layoutY="108.0" text="BetterFoliage" />
|
||||
<CheckBox fx:id="modid_2" layoutX="14.0" layoutY="166.0" text="Schematica" />
|
||||
<CheckBox fx:id="modid_3" layoutX="39.0" layoutY="73.0" text="NEI Addons" />
|
||||
<Text fill="#8c8c8c" layoutX="38.0" layoutY="121.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Мод довольно сильно преобразит игру, мир обзаведется густой растительностью: изменится трава и листья" wrappingWidth="379.00000374019146" y="15.0" />
|
||||
<Text fill="#8c8c8c" layoutX="38.0" layoutY="180.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Позволит вам смотреть файлы с расширением schematic прямо в вашем игровом мире" wrappingWidth="379.00000374019146" y="15.0" />
|
||||
<FlowPane id="holderpane" orientation="HORIZONTAL">
|
||||
<children>
|
||||
</children>
|
||||
</FlowPane>
|
||||
</children>
|
||||
</Pane>
|
||||
</children>
|
||||
|
|
|
@ -42,9 +42,45 @@ var options = {
|
|||
|
||||
// Lookup autoEnter checkbox
|
||||
var holder = options.overlay.lookup("#holder");
|
||||
|
||||
// Lookup apply settings button
|
||||
holder.lookup("#apply").setOnAction(function(event) overlay.hide(0, null));
|
||||
},
|
||||
|
||||
};
|
||||
function updateOptional()
|
||||
{
|
||||
var holder = options.overlay.lookup("#holderpane");
|
||||
var nodelist = new java.util.ArrayList;
|
||||
|
||||
holder.getChildren().forEach(function(node,i,arr) {
|
||||
if(node instanceof javafx.scene.control.CheckBox)
|
||||
nodelist.add(node);
|
||||
});
|
||||
nodelist.forEach(function(node,i,arr) {
|
||||
holder.getChildren().remove(node);
|
||||
});
|
||||
var profile = profilesList[serverHolder.old].object;
|
||||
var list = profile.getOptional();
|
||||
var checkboxlist = new java.util.ArrayList;
|
||||
list.forEach(function(modfile,i,arr) {
|
||||
var testMod = new javafx.scene.control.CheckBox(modfile.string);
|
||||
testMod.setSelected(modfile.mark);
|
||||
//testMod.setLayoutY(2+3*i);
|
||||
//testMod.setLayoutX(2);
|
||||
testMod.setOnAction(function(event) {
|
||||
var isSelected = event.getSource().isSelected();
|
||||
if(isSelected)
|
||||
{
|
||||
profile.markOptional(modfile.string);
|
||||
LogHelper.debug("Selected mod %s", modfile.string);
|
||||
}
|
||||
else
|
||||
{
|
||||
profile.unmarkOptional(modfile.string);
|
||||
LogHelper.debug("Unselected mod %s", modfile.string);
|
||||
}
|
||||
});
|
||||
checkboxlist.add(testMod);
|
||||
});
|
||||
holder.getChildren().addAll(checkboxlist);
|
||||
}
|
||||
|
|
|
@ -76,7 +76,9 @@ public String toString() {
|
|||
|
||||
private final IntegerConfigEntry serverPort;
|
||||
public static class MarkedString {
|
||||
@LauncherAPI
|
||||
public String string;
|
||||
@LauncherAPI
|
||||
public boolean mark;
|
||||
|
||||
public MarkedString(String string, boolean mark) {
|
||||
|
|
Loading…
Reference in a new issue