class KFGFxHud_PlayerRosterWidget extends GFxObject; struct SZedPlayerInfo { var string AvatarPath; var int PlayerID; StructDefaultProperties { PLayerID=-1 } }; var array ZedPlayerInfoList; var PlayerReplicationInfo MyPRI; function InitializeHUD() { MyPRI = GetPC().PlayerReplicationInfo; } function TickHud(float DeltaTime) { UpdatePlayerData(); } function UpdatePlayerData() { local GFxObject DataProvider,TempData; local int i, PlayerIndex; local KFPlayerReplicationinfo KFPRI; local KFPlayerController KFPC; local KFGameReplicationInfo KFGRI; local array CurrentPlayerList; local string AvatarIconPath; local SZedPlayerInfo ZedPlayerInfo; local int SearchIndex; KFGRI = KFGameReplicationInfo(GetPC().Worldinfo.GRI); if(KFGRI == none) { return; } if(MyPRI == none) { return; } PlayerIndex = 0; KFGRI.GetKFPRIArray(CurrentPlayerList); KFPC = KFPlayerController(GetPC()); DataProvider = CreateArray(); for(i = 0 ; i < CurrentPlayerList.length; i ++) { if(CurrentPlayerList[i].GetTeamNum() == MyPRI.GetTeamNum() && MyPRI != CurrentPlayerList[i]) { KFPRI = CurrentPlayerList[i]; SearchIndex = ZedPlayerInfoList.Find('PlayerID', KFPRI.PlayerID); TempData = CreateObject("Object"); if( class'WorldInfo'.static.IsConsoleBuild( CONSOLE_Orbis ) ) { if(SearchIndex == INDEX_NONE) { AvatarIconPath = "img://"$KFPC.GetPS4Avatar(KFPRI.PlayerName); ZedPlayerInfo.PlayerID = KFPRI.PlayerID; ZedPlayerInfo.AvatarPath = AvatarIconPath; ZedPlayerInfoList.AddItem(ZedPlayerInfo); } else { AvatarIconPath = ZedPlayerInfoList[SearchIndex].AvatarPath; } } else { if(SearchIndex == INDEX_NONE) { AvatarIconPath = "img://"$KFPC.GetSteamAvatar(KFPRI.UniqueId); ZedPlayerInfo.PlayerID = KFPRI.PlayerID; ZedPlayerInfo.AvatarPath = AvatarIconPath; ZedPlayerInfoList.AddItem(ZedPlayerInfo); } else { AvatarIconPath = ZedPlayerInfoList[SearchIndex].AvatarPath; } } TempData.SetString("playerIcon", AvatarIconPath); if(KFPRI.CharPortrait != none) { TempData.SetString("zedIcon", "img://"$PathName(KFPRI.CharPortrait)); } TempData.SetFloat("health", ByteToFloat(KFPRI.PlayerHealthPercent) * 100); DataProvider.SetElementObject(PlayerIndex,TempData); PlayerIndex++; } } SetObject("data", DataProvider); } DefaultProperties { }