116 lines
3.1 KiB
Ucode
116 lines
3.1 KiB
Ucode
//=============================================================================
|
|
// KFGFxHUD_ScoreboardMapInfoContainer
|
|
//=============================================================================
|
|
// Stores and displays the current round information. This includes time, map
|
|
// difficulty and wave.
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
|
// - Zane Gholson 9/26/2014
|
|
//=============================================================================
|
|
|
|
|
|
class KFGFxHUD_ScoreboardMapInfoContainer extends GFxObject;
|
|
|
|
// Cached value - Elapsed match time as of the last scoreboard tick update.
|
|
var Protected int LastMatchTime;
|
|
var localized string WaveString;
|
|
var localized string FinalString;
|
|
|
|
var string GameTypeString;
|
|
var bool bLocalized;
|
|
|
|
function InitializeHUD()
|
|
{
|
|
UpdateWaveCount();
|
|
}
|
|
|
|
function LocalizeText()
|
|
{
|
|
local GFxObject LocalizedObject;
|
|
local string MatchInfoString;
|
|
local string GameDifficultyString;
|
|
local KFGameReplicationInfo KFGRI;
|
|
|
|
GameTypeString = class'KFCommon_LocalizedStrings'.static.GetGameModeString(0);
|
|
KFGRI = KFGameReplicationInfo(GetPC().WorldInfo.GRI);
|
|
|
|
if(KFGRI != none)
|
|
{
|
|
GameDifficultyString = class'KFCommon_LocalizedStrings'.static.GetDifficultyString(KFGRI.GameDifficulty);
|
|
GameTypeString = KFGRI.GameClass.default.GameName;
|
|
MatchInfoString = GameTypeString @"-" @GameDifficultyString;
|
|
}
|
|
|
|
LocalizedObject = CreateObject( "Object" );
|
|
LocalizedObject.SetString("waveText", WaveString);
|
|
LocalizedObject.SetString("mapText", class'KFCommon_LocalizedStrings'.static.GetFriendlyMapName(GetPC().WorldInfo.GetMapName(true)));
|
|
LocalizedObject.SetString("matchInfo", MatchInfoString);
|
|
|
|
SetObject("localizeText", LocalizedObject);
|
|
|
|
bLocalized = true;
|
|
}
|
|
|
|
// Elapsed time, difficulty, map name.
|
|
function UpdateMatchInfo()
|
|
{
|
|
local KFGameReplicationInfo KFGRI;
|
|
local int CurrentMatchTime;
|
|
|
|
KFGRI = KFGameReplicationInfo(GetPC().WorldInfo.GRI);
|
|
if(KFGRI != none)
|
|
{
|
|
if(!bLocalized)
|
|
{
|
|
LocalizeText();
|
|
}
|
|
|
|
CurrentmatchTime = KFGRI.ElapsedTime;
|
|
if(CurrentMatchTime != LastMatchTime)
|
|
{
|
|
// Send match time to actionscript
|
|
SetInt("timeValue" ,CurrentMatchTime);
|
|
LastMatchTime = CurrentMatchTime;
|
|
}
|
|
}
|
|
}
|
|
|
|
function UpdateWaveCount()
|
|
{
|
|
local int CurrentWaveNum;
|
|
local KFGameReplicationInfo KFGRI;
|
|
|
|
KFGRI = KFGameReplicationInfo(GetPC().WorldInfo.GRI);
|
|
|
|
if(KFGRI == none)
|
|
{
|
|
return;
|
|
}
|
|
|
|
CurrentWaveNum = KFGRI.WaveNum;
|
|
if(KFGRI.IsBossWave())
|
|
{
|
|
SetString("waveNumber", class'KFGFxHUD_WaveInfo'.default.BossWaveString);
|
|
}
|
|
else if (KFGRI.IsFinalWave())
|
|
{
|
|
SetString("waveNumber", FinalString);
|
|
}
|
|
else
|
|
{
|
|
if (KFGRI.default.bEndlessMode)
|
|
{
|
|
SetString("waveNumber", "" $ CurrentWaveNum);
|
|
}
|
|
else
|
|
{
|
|
SetString("waveNumber", CurrentWaveNum $ "/" $ KFGRI.GetFinalWaveNum());
|
|
}
|
|
}
|
|
}
|
|
|
|
defaultProperties
|
|
{
|
|
bLocalized=false
|
|
} |