DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ ShowPlayerTag()

void Hud::ShowPlayerTag ( float timeslice)
inlineprotected

См. определение в файле IngameHud.c строка 1099

1100 {
1101 if ( m_CurrentTaggedPlayer && m_CurrentTaggedPlayer.GetIdentity() )
1102 {
1103 if ( !m_PlayerTag )
1104 {
1105 m_PlayerTag = g_Game.GetWorkspace().CreateWidgets("gui/layouts/new_ui/hud/hud_player_tag.layout");
1106 m_PlayerTagText = TextWidget.Cast( m_PlayerTag.FindAnyWidget( "TagText" ) );
1107 }
1108 m_PlayerSpineIndex = m_CurrentTaggedPlayer.GetBoneIndex( "Spine2" );
1109 vector player_pos = m_CurrentTaggedPlayer.GetBonePositionWS( m_PlayerSpineIndex );
1110 vector screen_pos = g_Game.GetScreenPosRelative( player_pos );
1111
1112 if ( screen_pos[2] > 0 )
1113 {
1114 if ( screen_pos[0] > 0 && screen_pos[0] < 1 )
1115 {
1116 if ( screen_pos[1] > 0 && screen_pos[1] < 1 )
1117 {
1118 m_PlayerTagText.SetAlpha( Math.Clamp( m_PlayerTagText.GetAlpha() + timeslice * 10, 0, 1 ) );
1119 m_PlayerTag.SetPos( 0.55, 0.55 );
1120 m_PlayerTagText.SetText( m_CurrentTaggedPlayer.GetIdentity().GetPlainName() );
1121
1122 //m_PlayerTagText.SetSize( 1, 1 - screen_pos[2] / 25 );
1123 return;
1124 }
1125 }
1126 }
1127 }
1128
1129 if ( m_PlayerTag )
1130 {
1131 float new_alpha = Math.Clamp( m_PlayerTagText.GetAlpha() - timeslice * 10, 0, 1 );
1132 m_PlayerTagText.SetAlpha( Math.Clamp( m_PlayerTagText.GetAlpha() - timeslice * 10, 0, 1 ) );
1133 if ( new_alpha == 0 )
1134 {
1135 m_PlayerTagText.SetText( "" );
1136 m_CurrentTaggedPlayer = null;
1137 }
1138 }
1139 }
DayZGame g_Game
Определения DayZGame.c:4074
TextWidget m_PlayerTagText
Определения IngameHud.c:118
Widget m_PlayerTag
Определения IngameHud.c:117
int m_PlayerSpineIndex
Определения IngameHud.c:115
PlayerBase m_CurrentTaggedPlayer
Определения IngameHud.c:116

Перекрестные ссылки Math::Clamp(), g_Game, m_CurrentTaggedPlayer, m_PlayerSpineIndex, m_PlayerTag и m_PlayerTagText.

Используется в Update().