#pragma once

#include "foundation/types/Color.h"

namespace ta::features::chams
{
    struct ChamsSettings
    {
        bool npc_chams = false;
        bool gear_chams = false;
        int chams_type = 0;
        ta::foundation::RgbaColor visible_color{1.0f, 112.0f / 255.0f, 72.0f / 255.0f, 1.0f};
        ta::foundation::RgbaColor invisible_color{139.0f / 255.0f, 99.0f / 255.0f, 1.0f, 1.0f};
        bool weapon_chams = false;
        int weapon_type = 5;
        ta::foundation::RgbaColor weapon_color{116.0f / 255.0f, 199.0f / 255.0f, 236.0f / 255.0f, 1.0f};
        bool include_scope = false;
        bool player_chams = false;

        bool operator==(const ChamsSettings&) const = default;

        [[nodiscard]] bool needs_bundle() const noexcept
        {
            return npc_chams || gear_chams || weapon_chams;
        }
    };
}
