diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index bc92bac..1f22855 100644 --- a/assets/bundles/bundle.properties +++ b/assets/bundles/bundle.properties @@ -12,4 +12,8 @@ schematicbrowser.fail.parse = Failed to parse {0} {1} schematicbrowser.togglevisibility = Toggle visibility schematicbrowser.cleartags = Clear tags schematicbrowser.prunetags = Prune tags -schematicbrowser.tagged = {0}/{1} tagged \ No newline at end of file +schematicbrowser.tagged = {0}/{1} tagged + +# Settings +setting.schematicbrowserimporttags.name = Import schematic browser tag +setting.schematicbrowserimporttags.description = Whether to import tags when downloading schematic from schematic browser \ No newline at end of file diff --git a/src/schembrowser/SchematicBrowser.java b/src/schembrowser/SchematicBrowser.java index 24505c3..eaed0c7 100644 --- a/src/schembrowser/SchematicBrowser.java +++ b/src/schembrowser/SchematicBrowser.java @@ -8,6 +8,7 @@ import mindustry.gen.*; import mindustry.input.*; import mindustry.mod.*; +import mindustry.ui.dialogs.SettingsMenuDialog; import schembrowser.ui.*; import static mindustry.Vars.*; @@ -44,5 +45,23 @@ public boolean keyDown(InputEvent event, KeyCode keycode) { return super.keyDown(event, keycode); } }); + + // Settings Menu + ui.settings.getCategories().add(settingsCategory()); + } + + public static SettingsMenuDialog.SettingsCategory settingsCategory() { + return new SettingsMenuDialog.SettingsCategory( + Core.bundle.format("schematicbrowser"), +// new TextureRegionDrawable(Core.atlas.find("schematic-browser-logo")), // FINISHME: Use sprite logo + Icon.host, + SchematicBrowser::settingsMenuTable + ); + } + + public static void settingsMenuTable(SettingsMenuDialog.SettingsTable table) { + table.checkPref("schematicbrowserimporttags", true); } } + + diff --git a/src/schembrowser/ui/SchematicBrowserDialog.java b/src/schembrowser/ui/SchematicBrowserDialog.java index d00bdf9..6d11cc5 100644 --- a/src/schembrowser/ui/SchematicBrowserDialog.java +++ b/src/schembrowser/ui/SchematicBrowserDialog.java @@ -212,7 +212,12 @@ void setupRepoUi(Table table, String searchString, String repo){ buttons.button(Icon.upload, style, () -> showExport(s)).tooltip("@editor.export"); buttons.button(Icon.download, style, () -> { ui.showInfoFade("@schematic.saved"); - schematics.add(s); + if (Core.settings.getBool("schematicbrowserimporttags")) schematics.add(s); + else { + Schematic cpy = new Schematic(s.tiles, s.tags, s.width, s.height); + cpy.labels.clear(); + schematics.add(cpy); + } Reflect.invoke(ui.schematics, "checkTags", new Object[]{s}, Schematic.class); // Vars.ui.schematics.checkTags(s) }).tooltip("@schematicbrowser.download"); }).growX().height(50f);