//============================================================================= // KFGFxHUD_PostRoundMenu //============================================================================= // Displays a list of teams on the server prints out a summar of the previous // round(s) //============================================================================= // Killing Floor 2 // Copyright (C) 2015 Tripwire Interactive LLC // - Zane Gholson 5/2/2016 //============================================================================= class KFGFxHUD_PostRoundMenu extends GfxObject; var KFGFxPostRoundContainer_Team TeamOneContainer; var KFGFxPostRoundContainer_Team TeamTwoContainer; var localized string RoundResultsString; var localized string MatchResultsString; var localized string SurvivorVictory; var localized string ZEDVictory; var localized string TieString; var localized string YourTeamString; var localized string OpposingTeamString; var localized string MatchOnGoingString; var KFTeamInfo_Human WinningTeam; var KFGameReplicationInfo KFGRI; function InitializeHUD() { KFGRI = KFGameReplicationInfo(GetPC().WorldInfo.GRI); LocalizeText(); DisplayProgress(); } function LocalizeText() { local GfxObject TextObject; TextObject = CreateObject("Object"); TextObject.SetString("roundResultsTitle", RoundResultsString); TextObject.SetString("matchResultsTitle", MatchResultsString); SetObject("localizedText", TextObject); } /** Ties the GFxClikWidget variables to the .swf components and handles events */ event bool WidgetInitialized(name WidgetName, name WidgetPath, GFxObject Widget) { switch(WidgetName) { case 'roundOneContainer': if ( TeamOneContainer == none ) { TeamOneContainer = KFGFxPostRoundContainer_Team(Widget); TeamOneContainer.TeamValue = 1; TeamOneContainer.TeamID = 1; TeamOneContainer.Initialize(); } break; case 'roundTwoContainer': if ( TeamTwoContainer == none ) { TeamTwoContainer = KFGFxPostRoundContainer_Team(Widget); TeamTwoContainer.TeamValue = 2; TeamTwoContainer.TeamID = 0; TeamTwoContainer.Initialize(); } break; } return true; } function DisplayProgress() { local GfxObject TextObject; local KFTeamInfo_Human Team1; local KFTeamInfo_Human Team2; Team1 = KFTeamInfo_Human(KFGRI.Teams[1]); //humans on final round Team2 = KFTeamInfo_Human(KFGRI.Teams[0]); //zeds on final round TextObject = CreateObject("Object"); if(KFGRI.bMatchVictory) { TextObject.SetString("roundResults", SurvivorVictory); } else { TextObject.SetString("roundResults", ZEDVictory); } if(KFGRI.GetCurrentRoundNumber() < 2 ) { TextObject.SetString("matchResults", MatchOnGoingString); } else { if(Team1.TeamScoreDataPacket.RoundScore > Team2.TeamScoreDataPacket.RoundScore) { WinningTeam = Team1; } else if(Team1.TeamScoreDataPacket.RoundScore < Team2.TeamScoreDataPacket.RoundScore) { WinningTeam = Team2; } else { WinningTeam = none; } if(WinningTeam == none) { TextObject.SetString("matchResults", TieString); } else { if(GetPC().PlayerReplicationInfo.GetTeamNum() == WinningTeam.TeamIndex) { TextObject.SetString("matchResults", YourTeamString); } else { TextObject.SetString("matchResults", OpposingTeamString); } } } SetObject("Data", TextObject); } DefaultProperties { //defaults SubWidgetBindings.Add((WidgetName="roundOneContainer",WidgetClass=class'KFGFxPostRoundContainer_Team')) SubWidgetBindings.Add((WidgetName="roundTwoContainer",WidgetClass=class'KFGFxPostRoundContainer_Team')) }