diff --git a/src/main/kotlin/com/lambda/gui/MenuBar.kt b/src/main/kotlin/com/lambda/gui/MenuBar.kt index cb3d28f87..2b4d3e4f3 100644 --- a/src/main/kotlin/com/lambda/gui/MenuBar.kt +++ b/src/main/kotlin/com/lambda/gui/MenuBar.kt @@ -39,6 +39,7 @@ import com.lambda.imgui.ImGui import com.lambda.imgui.ImGui.closeCurrentPopup import com.lambda.imgui.flag.ImGuiCol import com.lambda.imgui.flag.ImGuiStyleVar +import com.lambda.imgui.type.ImBoolean import com.lambda.imgui.flag.ImGuiWindowFlags import com.lambda.interaction.BaritoneHandler import com.lambda.module.ModuleRegistry @@ -264,22 +265,19 @@ object MenuBar { private fun ImGuiBuilder.buildModulesMenu() { menu("Module Tag") { ModuleTag.defaults.forEach { tag -> - menuItem(tag.name, selected = ModuleTag.isTagShown(tag)) { + checkbox(tag.name, ImBoolean(ModuleTag.isTagShown(tag))) { ModuleTag.toggleTag(tag) } } } separator() - // By Tag → quick enable/disable per module + // By Tag → toggle whether each module is shown in the ClickGui layout ModuleTag.defaults.forEach { tag -> menu(tag.name) { ModuleRegistry.modules .filter { it.tag == tag } .forEach { module -> - menuItem(module.name, selected = module.isEnabled) { - module.toggle() - } - // Optionally, offer a "Settings..." item to focus this module’s details UI. + checkbox(module.name, module::showInClickGui) } } } diff --git a/src/main/kotlin/com/lambda/gui/components/ClickGuiLayout.kt b/src/main/kotlin/com/lambda/gui/components/ClickGuiLayout.kt index 155eda4b0..c9c6867ec 100644 --- a/src/main/kotlin/com/lambda/gui/components/ClickGuiLayout.kt +++ b/src/main/kotlin/com/lambda/gui/components/ClickGuiLayout.kt @@ -344,7 +344,7 @@ object ClickGuiLayout : Loadable, Config( } ModuleRegistry.modules - .filter { it.tag == tag } + .filter { it.tag == tag && it.showInClickGui } .forEach { with(ModuleEntry(it)) { buildLayout() } } val vis = snapOverlays[tag.name] diff --git a/src/main/kotlin/com/lambda/module/Module.kt b/src/main/kotlin/com/lambda/module/Module.kt index b2ec640e8..b85756060 100644 --- a/src/main/kotlin/com/lambda/module/Module.kt +++ b/src/main/kotlin/com/lambda/module/Module.kt @@ -146,6 +146,7 @@ abstract class Module( .onRelease { if (disableOnRelease) disable() } val disableOnReleaseSetting = setting("Disable On Release", false) { false } val drawSetting = setting("Draw", true, "Draws the module in the module list hud element") { false } + val showInClickGuiSetting = setting("Show In ClickGui", true, "Shows the module in the ClickGui layout") { false } var isEnabled by isEnabledSetting private set @@ -154,6 +155,7 @@ abstract class Module( val keybind by keybindSetting val disableOnRelease by disableOnReleaseSetting val draw by drawSetting + var showInClickGui by showInClickGuiSetting override val isMuted: Boolean get() = !isEnabled && !alwaysListening