#pragma once
#include "Mod.h"

#include "Datas/LanguageDatas.h"

class ClickGui : public Mod {
public:
	int style = 0;
	int theme = 0;
	float scrollspeed = 1.f;
	float blurs = 5.f;
	float opacity = 1.f;

	ClickGui() : Mod(Datas::Language::get().module.render.clickgui.name, Datas::Language::get().module.render.clickgui.description, Category::RENDER) {
		settings.push_back(new Setting{ _("Style"), &style, new int(0), new int(0), 1, {
			_("Rise")
			}, true });
		settings.push_back(new Setting{ _("Theme"), &theme, new int(1), new int(0), 1, {
			_("Dark"),
			_("White")
			}, true });

		settings.push_back(new Setting{ _("Scroll Speed"), &scrollspeed, new float(1.f), new float(0.f), 2, {}, true });
		settings.push_back(new Setting{ _("Opacity"), &opacity, new float(1.f), new float(0.f), 2, {}, true });
		settings.push_back(new Setting{ _("Blurs"), &blurs, new float(10.f), new float(0.f), 2, {}, true, 10.f });

		enabled = false;
		onlyenabled = false;
		visible = false;

		keys = { VK_INSERT };
	}
	bool unvisible = false;
private:
	struct Categorystruct {
		Category cat;
		float animation;
		float scroll;
	};
	struct Modstruct {
		Mod* mod;
		float animation;
		bool expand;
		float expandanimation;
		float height;
	};
	bool inputing = false;
	std::vector<int> inputs;

	virtual auto onImGuiRender() -> void override;
	virtual auto onKeyboard(int key, bool* held, bool* cancel) -> void override;
	virtual auto onMouse(char button, char state, bool* cancel) -> void override;
	virtual auto onDisabled() -> void override;
	virtual auto onClient4() -> void override;
	virtual auto getMode() -> std::string override;
};
