#pragma once
#include "../../../../external/imgui/imgui.h"
#include "../../../cs2/entity/C_CSPlayerPawn/C_CSPlayerPawn.h"
#include "../../../cs2/entity/C_BaseEntity/C_BaseEntity.h"
#include "../../config/config.h"
#include "../../../cs2/entity/CCSPlayerController/CCSPlayerController.h"

struct SpectatorInfo {
    std::string name;
    bool isLocalPlayer;
    int team;
    bool isAlive;
    
    SpectatorInfo(const std::string& n, bool local, int t, bool alive) 
        : name(n), isLocalPlayer(local), team(t), isAlive(alive) {}
};

namespace Spectators {
    void RenderSpectatorList();
    std::vector<SpectatorInfo> GetSpectators();
    bool IsPlayerSpectatingYou(CCSPlayerController* controller, C_CSPlayerPawn* localPlayer);
    void RenderPlayersDebugList();
} 