#pragma once

#include <Common/Common.hpp>
#include <ImGui/imgui.h>

namespace Settings
{
	namespace Visual
	{
		inline auto Active = true;
		inline auto Team = true;
		inline auto Enemy = true;
		inline auto OnlyVisible = false;
		inline auto PlayerBox = true;
		inline auto BoneESP = true;
		inline auto BoneESPTeam = true;
		inline auto BoneESPEnemy = true;
		inline auto Glow = true;
		inline auto GlowTeam = true;
		inline auto GlowEnemy = true;

		inline auto NameESP = true;
		inline auto HealthESP = true;
		inline auto ArmorESP = true;
		inline auto WeaponESP = true;
		inline auto BombESP = true;

		inline auto PlayerBoxType = 3;
		inline auto GlassyBox = false;
		inline auto GlassOpacity = 55;
	}
	namespace Chams
	{
		inline auto Enabled = false;
		inline auto IgnoreZ = true;
		inline ImVec4 Visible = { 0.f , 0.40f , 1.f , 1.f };
		inline ImVec4 Occluded = { 1.f , 0.f , 0.75f , 1.f };
	}
	namespace Menu
	{
		inline auto MenuAlpha = 200;
		inline auto MenuStyle = 0;
	}
	namespace Misc
	{
		inline auto Bunnyhop = false;
		inline auto NoFlash = false;
		inline auto FOVChanger = false;
		inline auto FOV = 90;
		inline auto SpectatorList = false;
		inline auto Watermark = true;
		inline auto Hitmarker = true;
		inline auto HitSound = true;
	}
	namespace Triggerbot
	{
		inline auto Active = false;
		inline auto Mode = 0;             // 0 = Hold Key, 1 = Always, 2 = Toggle
		inline auto Key = VK_MENU;        // Alt
		inline auto Delay = 50;           // ms
		inline auto HoldTime = 30;        // ms
		inline auto ScopedOnly = false;
		inline auto IgnoreTeammates = true;
		inline auto Hitbox_Head = true;
		inline auto Hitbox_Chest = true;
		inline auto Hitbox_Stomach = true;
		inline auto Hitbox_Arms = false;
		inline auto Hitbox_Legs = false;
		inline auto DrawIndicator = true;
	}
	namespace Colors
	{
		namespace Visual
		{
			inline ImVec4 PlayerBoxTT = { 255.f / 255.f , 75.f / 255.f , 75.f / 255.f  , 1.f };
			inline ImVec4 PlayerBoxTT_Visible = { 0 , 1.f , 0.f , 1.f };
			inline ImVec4 PlayerBoxCT = { 65.f / 255.f , 200 / 255.f , 255.f / 255.f , 1.f };
			inline ImVec4 PlayerBoxCT_Visible = { 0 , 1.f , 0.f , 1.f };
			inline ImVec4 BoneESPTT = { 255.f / 255.f , 75.f / 255.f , 75.f / 255.f  , 1.f };
			inline ImVec4 BoneESPTT_Visible = { 0 , 1.f , 0.f , 1.f };
			inline ImVec4 BoneESPCT = { 65.f / 255.f , 200 / 255.f , 255.f / 255.f , 1.f };
			inline ImVec4 BoneESPCT_Visible = { 0 , 1.f , 0.f , 1.f };
			inline ImVec4 GlowTT = { 255.f / 255.f , 75.f / 255.f , 75.f / 255.f  , 1.f };
			inline ImVec4 GlowTT_Visible = { 0 , 1.f , 0.f , 1.f };
			inline ImVec4 GlowCT = { 65.f / 255.f , 200 / 255.f , 255.f / 255.f , 1.f };
			inline ImVec4 GlowCT_Visible = { 0 , 1.f , 0.f , 1.f };
		}
	}
}
