diff --git a/Thrift/Client/Manager/Manager.cpp b/Thrift/Client/Manager/Manager.cpp index eb7f6b0..e2c48c2 100644 --- a/Thrift/Client/Manager/Manager.cpp +++ b/Thrift/Client/Manager/Manager.cpp @@ -88,6 +88,7 @@ auto Manager::initHooks(void) -> StatusData { #include "Modules/Visual/TabGui.h" #include "Modules/Visual/RainbowText.h" #include "Modules/Visual/ClickGui.h" +#include "Modules/Visual/Arraylist.h" /*Misc*/ #include "Modules/Other/TestModule.h" @@ -114,6 +115,7 @@ auto Manager::initCategories(void) -> void { new TabGui(visuals); new RainbowText(visuals); new ClickGui(visuals); + new Arraylist(visuals); /* World */ auto world = new Category(this, "World"); diff --git a/Thrift/Client/Manager/Modules/Visual/Arraylist.cpp b/Thrift/Client/Manager/Modules/Visual/Arraylist.cpp new file mode 100644 index 0000000..23ca2cf --- /dev/null +++ b/Thrift/Client/Manager/Modules/Visual/Arraylist.cpp @@ -0,0 +1,44 @@ +#include "Arraylist.h" +#include "../../Manager.h" +#include "../../Client.h" +#include "../../../Utils/Render/ImGuiUtils.h" + +auto Arraylist::onEnable() -> void { + + //something go wrong when enable this in clickgui, I will try to find a way + + auto mgr = this->category->mgr; + for (auto cata : mgr ->categories) + for (auto module : cata->modules) + { + moduless2.push_back(module); + } + std::sort(moduless2.begin(), moduless2.end(), [](const Module* a, const Module* b) { + return a->name.size() > b->name.size(); + }); + moduless2.erase(std::unique(moduless2.begin(), moduless2.end()), moduless2.end()); +} + +auto Arraylist::onRender(MinecraftUIRenderContext* ctx) -> void { + auto fontSize = 1.f; + float the100 = 0.f; + + auto data = Minecraft::getClientInstance()->getGuiData(); + + auto i = 0; + + for (auto mod2 : moduless2) { + if (mod2->isEnabled) { + the100 = the100 + 10.f; + auto currLen = renderUtils->getTextLen(nullptr, mod2->name, fontSize); + auto rightCorner = data->res.x - 100.f + (96.f - currLen); + + renderUtils->drawText(nullptr, Vec2(rightCorner, (i * 10) + 4.f), mod2->name, Color(30.f, 230.f, 120.f, 1.f), fontSize); + i++; + }; + } +} + +auto Arraylist::onDisable() -> void { + moduless2.clear(); +} \ No newline at end of file diff --git a/Thrift/Client/Manager/Modules/Visual/Arraylist.h b/Thrift/Client/Manager/Modules/Visual/Arraylist.h new file mode 100644 index 0000000..9de542b --- /dev/null +++ b/Thrift/Client/Manager/Modules/Visual/Arraylist.h @@ -0,0 +1,18 @@ +#pragma once + +#include "../../Module.h" + +class Arraylist : public Module { +public: + Arraylist(Category* c) : Module(c, "Arraylist", "See all enabled module") { + + this->isEnabled = true; + + }; +public: + std::vector moduless2; +public: + auto onEnable() -> void override; + auto onRender(MinecraftUIRenderContext*) -> void override; + auto onDisable() -> void override; +}; \ No newline at end of file diff --git a/Thrift/Client/Manager/Modules/Visual/ClickGui.cpp b/Thrift/Client/Manager/Modules/Visual/ClickGui.cpp index ef60965..36b80a7 100644 --- a/Thrift/Client/Manager/Modules/Visual/ClickGui.cpp +++ b/Thrift/Client/Manager/Modules/Visual/ClickGui.cpp @@ -103,6 +103,10 @@ void ClickGui::onImGuiRender() { if (module->isEnabled) module->onEnable(); else module->onDisable(); } ImGui::PopStyleColor(3); + + if (ImGui::IsItemHovered(ImGuiHoveredFlags_DelayNormal)) { + ImGui::SetTooltip(module->description.c_str()); + } } ImGui::End(); } diff --git a/Thrift/Client/Manager/Modules/Visual/ClickGui.h b/Thrift/Client/Manager/Modules/Visual/ClickGui.h index 833c2f9..f24bd86 100644 --- a/Thrift/Client/Manager/Modules/Visual/ClickGui.h +++ b/Thrift/Client/Manager/Modules/Visual/ClickGui.h @@ -4,7 +4,7 @@ class ClickGui : public Module { public: - ClickGui(Category* c) : Module(c, "ClickGui", "For testing shiz") { + ClickGui(Category* c) : Module(c, "ClickGui", "Clickgui!") { this->key = VK_INSERT; }; diff --git a/Thrift/Thrift.vcxproj b/Thrift/Thrift.vcxproj index 9f2bed9..0d61e40 100644 --- a/Thrift/Thrift.vcxproj +++ b/Thrift/Thrift.vcxproj @@ -214,6 +214,7 @@ + @@ -245,6 +246,7 @@ + diff --git a/Thrift/Thrift.vcxproj.filters b/Thrift/Thrift.vcxproj.filters index ec4ca83..e4ec3c8 100644 --- a/Thrift/Thrift.vcxproj.filters +++ b/Thrift/Thrift.vcxproj.filters @@ -18,228 +18,246 @@ Source Files - - Source Files - Source Files Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + + Source Files + + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + + Source Files + + + Source Files + + + Source Files + + Source Files - - Header Files - Header Files Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + + Header Files + + + Header Files + + + Header Files + + + Header Files + + Header Files