void CMisc::OnRenderSpectatorList()
{
if ( Settings::Misc::misc_Spectators )
{
int DrawIndex = 1;
for ( int playerId : GetObservervators( Interfaces::Engine()->GetLocalPlayer() ) )
{
if ( playerId == Interfaces::Engine()->GetLocalPlayer() )
continue;
CBaseEntity* pPlayer = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity( playerId );
if ( !pPlayer )
continue;
PlayerInfo Pinfo;
Interfaces::Engine()->GetPlayerInfo( playerId , &Pinfo );
if ( Pinfo.m_bIsFakePlayer )
continue;
if ( g_pRender )
{
string Name = Pinfo.m_szPlayerName;
if ( Name != "" )
{
Color PlayerObsColor;
//[junk_disable /]
switch ( pPlayer->GetObserverMode() )
{
case ObserverMode_t::OBS_MODE_IN_EYE:
Name.append( " - Perspective" );
PlayerObsColor = Color::White();
break;
case ObserverMode_t::OBS_MODE_CHASE:
Name.append( " - 3rd person" );
PlayerObsColor = Color::Aqua();
break;
case ObserverMode_t::OBS_MODE_ROAMING:
Name.append( " - Free look" );
PlayerObsColor = Color::Red();
break;
case ObserverMode_t::OBS_MODE_DEATHCAM:
Name.append( " - Deathcam" );
PlayerObsColor = Color::Yellow();
break;
case ObserverMode_t::OBS_MODE_FREEZECAM:
Name.append( " - Freezecam" );
PlayerObsColor = Color::LimeGreen();
break;
case ObserverMode_t::OBS_MODE_FIXED:
Name.append( " - Fixed" );
PlayerObsColor = Color::Orange();
break;
default:
break;
}
//[junk_enable /]
g_pRender->Text( iScreenWidth - 300 , 300 + ( DrawIndex * 13 ) , false , true , PlayerObsColor , "%s" , Name.c_str() );
DrawIndex++;
}
}
}
}
}