1410 lines
38 KiB
Ucode
1410 lines
38 KiB
Ucode
//-----------------------------------------------------------
|
|
//
|
|
//-----------------------------------------------------------
|
|
class LobbyMenu extends UT2k4MainPage;
|
|
|
|
var automated moCheckBox ReadyBox[6];
|
|
var automated KFPlayerReadyBar PlayerBox[6];
|
|
var automated GUIImage PlayerPerk[6];
|
|
var automated GUILabel PlayerVetLabel[6];
|
|
var automated KFLobbyChat t_ChatBox;
|
|
//var automated KFLobbyTitleLabel l_TitleBar;
|
|
var automated KFMapStoryLabel l_StoryBox;
|
|
var automated AltSectionBackground StoryBoxBG;
|
|
var automated KFBotComboBox BotSlot1;
|
|
var automated KFAddBotButton AddBotButton;
|
|
var automated KFRemoveBotButton RemoveBotButton;
|
|
var automated KFRemoveAllBotButton TotallyRemoveBotsButton;
|
|
var automated GUISectionBackground BotsBG;
|
|
|
|
var automated AltSectionBackground GameInfoBG;
|
|
var automated GUILabel CurrentMapLabel;
|
|
var automated GUILabel DifficultyLabel;
|
|
var automated GUIImage WaveBG;
|
|
var automated GUILabel WaveLabel;
|
|
|
|
// Localized Strings
|
|
var localized string CurrentMapString;
|
|
var localized string DifficultyString;
|
|
var localized string LvAbbrString;
|
|
|
|
var automated GUILabel label_TimeOutCounter;
|
|
var automated GUILabel PerkClickLabel;
|
|
|
|
var bool bStoryBoxFilled;
|
|
var bool bAllowClose;
|
|
|
|
//Perks/Profile
|
|
var() string sChar, sCharD;
|
|
var() int nFOV;
|
|
var() xUtil.PlayerRecord PlayerRec;
|
|
|
|
var automated GUISectionBackground i_BGPerks;
|
|
var automated GUISectionBackground i_BGPerk;
|
|
|
|
var automated GUISectionBackground i_BGPerkEffects;
|
|
var automated GUIScrollTextBox lb_PerkEffects;
|
|
|
|
var automated GUIImage i_Portrait;
|
|
var automated GUISectionBackground PlayerPortraitBG;
|
|
|
|
var float IconBorder; // Percent of Height to leave blank inside Icon Background
|
|
var float ItemBorder; // Percent of Height to leave blank inside Item Background
|
|
var float ItemSpacing; // Number of Pixels between Items
|
|
var float ProgressBarHeight; // Percent of Height to make Progress Bar's Height
|
|
var float TextTopOffset; // Percent of Height to off Progress String from top of Progress Bar(typically negative)
|
|
var float IconToInfoSpacing; // Percent of Width to offset Info from right side of Icon
|
|
|
|
var texture ItemBackground;
|
|
var texture ProgressBarBackground;
|
|
var texture ProgressBarForeground;
|
|
var texture PerkBackground;
|
|
var texture InfoBackground;
|
|
|
|
//var bool bAdminUse; // If you're not an admin, gtfo!
|
|
|
|
var int ActivateTimeoutTime; // When was the lobby timeout turned on?
|
|
var bool bTimeoutTimeLogged; // Was it already logged once?
|
|
var bool bTimedOut; // Have we timed out out successfully?
|
|
|
|
var localized string WaitingForServerStatus;
|
|
var localized string WaitingForOtherPlayers;
|
|
var localized string AutoCommence;
|
|
|
|
var localized string BeginnerString;
|
|
var localized string NormalString;
|
|
var localized string HardString;
|
|
var localized string SuicidalString;
|
|
var localized string HellOnEarthString;
|
|
|
|
var bool bShouldUpdateVeterancy;
|
|
var() localized string SelectPerkInformationString;
|
|
var() localized string PerksDisabledString;
|
|
var class<KFVeterancyTypes> CurrentVeterancy;
|
|
var int CurrentVeterancyLevel;
|
|
var float VideoTimer;
|
|
var bool VideoOpened;
|
|
var bool VideoPlayed;
|
|
|
|
var automated GUISectionBackground ADBackground;
|
|
var LobbyMenuAd LobbyMenuAd;
|
|
|
|
const MAX_MOVIES = 6;
|
|
|
|
function InitComponent(GUIController MyC, GUIComponent MyO)
|
|
{
|
|
local int i;
|
|
|
|
Super.InitComponent(MyC, MyO);
|
|
|
|
LobbyMenuAd = new class'LobbyMenuAd';
|
|
LobbyMenuAd.MenuMovie = new class'Movie';
|
|
LobbyMenuAd.MenuMovie.Callbacks = LobbyMenuAd;
|
|
|
|
for ( i = 0; i < 6; i++ )
|
|
{
|
|
PlayerPerk[i].WinWidth = PlayerPerk[i].ActualHeight();
|
|
PlayerPerk[i].WinLeft += ((PlayerBox[i].ActualHeight() - PlayerPerk[i].ActualHeight()) / 2) / MyC.ResX;
|
|
}
|
|
|
|
i_Portrait.WinTop = PlayerPortraitBG.ActualTop() + 30;
|
|
i_Portrait.WinHeight = PlayerPortraitBG.ActualHeight() - 36;
|
|
|
|
t_ChatBox.FocusInstead = PerkClickLabel;
|
|
|
|
}
|
|
|
|
function CheckBotButtonAccess()
|
|
{
|
|
|
|
if ( KFGameReplicationInfo(PlayerOwner().GameReplicationInfo) == none )
|
|
{
|
|
return;
|
|
}
|
|
|
|
// log(PlayerOwner().GameReplicationInfo.GameClass);
|
|
|
|
// Dont show Invasion bots, on Story mode.
|
|
// Check the GRI, on dedicated servers
|
|
// Level.Game seems to work on listens.
|
|
|
|
if ( true || PlayerOwner().GameReplicationInfo.GameClass == "KFMod.KFSPGameType" ||
|
|
PlayerOwner().Level.NetMode == NM_ListenServer && KFSPGameType(PlayerOwner().Level.Game) != none )
|
|
{
|
|
BotSlot1.Hide();
|
|
AddBotButton.Hide();
|
|
RemoveBotButton.Hide();
|
|
TotallyRemoveBotsButton.Hide();
|
|
BotsBG.Hide();
|
|
}
|
|
/*
|
|
else
|
|
{
|
|
BotSlot1.Show();
|
|
AddBotButton.Show();
|
|
RemoveBotButton.Show();
|
|
TotallyRemoveBotsButton.Show();
|
|
BotsBG.Show();
|
|
}
|
|
|
|
if ( !PlayerOwner().PlayerReplicationInfo.bAdmin && PlayerOwner().Level.NetMode != NM_StandAlone )
|
|
{
|
|
BotSlot1.DisableMe();
|
|
AddBotButton.DisableMe();
|
|
RemoveBotButton.DisableMe();
|
|
TotallyRemoveBotsButton.DisableMe();
|
|
BotsBG.DisableMe();
|
|
}
|
|
if ( PlayerOwner().PlayerReplicationInfo.bAdmin || PlayerOwner().Level.NetMode == NM_ListenServer )
|
|
{
|
|
if ( KFGameReplicationInfo(PlayerOwner().GameReplicationInfo).bNoBots )
|
|
{
|
|
BotSlot1.DisableMe();
|
|
AddBotButton.DisableMe();
|
|
RemoveBotButton.DisableMe();
|
|
TotallyRemoveBotsButton.DisableMe();
|
|
BotsBG.DisableMe();
|
|
}
|
|
else
|
|
{
|
|
BotSlot1.EnableMe();
|
|
AddBotButton.EnableMe();
|
|
RemoveBotButton.EnableMe();
|
|
BotsBG.EnableMe();
|
|
TotallyRemoveBotsButton.EnableMe();
|
|
}
|
|
|
|
if ( PlayerOwner().GameReplicationInfo.PRIArray.length + KFGameReplicationInfo(PlayerOwner().GameReplicationInfo).PendingBots < 6 )
|
|
{
|
|
AddBotButton.EnableMe();
|
|
}
|
|
else
|
|
{
|
|
AddBotButton.DisableMe();
|
|
}
|
|
|
|
if ( KFGameReplicationInfo(PlayerOwner().GameReplicationInfo).PendingBots > 0 )
|
|
{
|
|
RemoveBotButton.EnableMe();
|
|
TotallyRemoveBotsButton.EnableMe();
|
|
}
|
|
else
|
|
{
|
|
RemoveBotButton.DisableMe();
|
|
TotallyRemoveBotsButton.DisableMe();
|
|
}
|
|
}*/
|
|
}
|
|
|
|
function bool InternalOnKeyEvent(out byte Key, out byte State, float delta)
|
|
{
|
|
local int i;
|
|
local bool bVoiceChatKey;
|
|
local array<string> BindKeyNames, LocalizedBindKeyNames;
|
|
|
|
Controller.GetAssignedKeys( "VoiceTalk", BindKeyNames, LocalizedBindKeyNames );
|
|
|
|
for ( i = 0; i < BindKeyNames.Length; i++ )
|
|
{
|
|
if ( Mid( GetEnum(enum'EInputKey', Key), 3 ) ~= BindKeyNames[i] )
|
|
{
|
|
bVoiceChatKey = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ( bVoiceChatKey )
|
|
{
|
|
if ( state == 1 || state == 2 )
|
|
{
|
|
if ( PlayerOwner() != none )
|
|
{
|
|
PlayerOwner().bVoiceTalk = 1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ( PlayerOwner() != none )
|
|
{
|
|
PlayerOwner().bVoiceTalk = 0;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function UpdateBotSlots();
|
|
|
|
function ClearChatBox()
|
|
{
|
|
t_ChatBox.lb_Chat.SetContent("");
|
|
}
|
|
|
|
function TimedOut()
|
|
{
|
|
bTimedOut = true;
|
|
PlayerOwner().ServerRestartPlayer();
|
|
bAllowClose = true;
|
|
}
|
|
|
|
function bool InternalOnPreDraw(Canvas C)
|
|
{
|
|
local int i, j, z;
|
|
local string StoryString;
|
|
local String SkillString;
|
|
local KFGameReplicationInfo KFGRI;
|
|
local PlayerController PC;
|
|
local PlayerReplicationInfo InList[6];
|
|
local bool bWasThere, bShowProfilePage;
|
|
|
|
PC = PlayerOwner();
|
|
|
|
if ( PC == none || PC.Level == none ) // Error?
|
|
{
|
|
return false;
|
|
}
|
|
|
|
i_Portrait.WinTop = PlayerPortraitBG.ActualTop() + 30;
|
|
i_Portrait.WinHeight = PlayerPortraitBG.ActualHeight() - 36;
|
|
|
|
if ( PC.PlayerReplicationInfo != none && (!PC.PlayerReplicationInfo.bWaitingPlayer || PC.PlayerReplicationInfo.bOnlySpectator) )
|
|
{
|
|
PC.ClientCloseMenu(True,False);
|
|
return false;
|
|
}
|
|
|
|
t_Footer.InternalOnPreDraw(C);
|
|
|
|
WaveLabel.WinWidth = WaveLabel.ActualHeight();
|
|
|
|
KFGRI = KFGameReplicationInfo(PC.GameReplicationInfo);
|
|
|
|
if ( KFGRI != none )
|
|
{
|
|
WaveLabel.Caption = string(KFGRI.WaveNumber + 1) $ "/" $ string(KFGRI.FinalWave);
|
|
}
|
|
else
|
|
{
|
|
WaveLabel.Caption = "?/?";
|
|
}
|
|
|
|
if ( KFPlayerController(PC) != none && bShouldUpdateVeterancy )
|
|
{
|
|
if ( KFPlayerController(PC).SelectedVeterancy == none )
|
|
{
|
|
bShowProfilePage = true;
|
|
|
|
if ( PC.SteamStatsAndAchievements == none )
|
|
{
|
|
if ( PC.Level.NetMode != NM_Client )
|
|
{
|
|
PC.SteamStatsAndAchievements = PC.Spawn(PC.default.SteamStatsAndAchievementsClass, PC);
|
|
if ( !PC.SteamStatsAndAchievements.Initialize(PC) )
|
|
{
|
|
Controller.OpenMenu(Controller.QuestionMenuClass);
|
|
GUIQuestionPage(Controller.TopPage()).SetupQuestion(class'KFMainMenu'.default.UnknownSteamErrorText, QBTN_Ok, QBTN_Ok);
|
|
PC.SteamStatsAndAchievements.Destroy();
|
|
PC.SteamStatsAndAchievements = none;
|
|
}
|
|
else
|
|
{
|
|
PC.SteamStatsAndAchievements.OnDataInitialized = OnSteamStatsAndAchievementsReady;
|
|
}
|
|
}
|
|
|
|
bShowProfilePage = false;
|
|
}
|
|
else if ( !PC.SteamStatsAndAchievements.bInitialized )
|
|
{
|
|
PC.SteamStatsAndAchievements.OnDataInitialized = OnSteamStatsAndAchievementsReady;
|
|
PC.SteamStatsAndAchievements.GetStatsAndAchievements();
|
|
bShowProfilePage = false;
|
|
}
|
|
|
|
if ( KFSteamStatsAndAchievements(PC.SteamStatsAndAchievements) != none )
|
|
{
|
|
for ( i = 0; i < class'KFGameType'.default.LoadedSkills.Length; i++ )
|
|
{
|
|
if ( KFSteamStatsAndAchievements(PC.SteamStatsAndAchievements).GetPerkProgress(i) < 0.0 )
|
|
{
|
|
PC.SteamStatsAndAchievements.OnDataInitialized = OnSteamStatsAndAchievementsReady;
|
|
PC.SteamStatsAndAchievements.GetStatsAndAchievements();
|
|
bShowProfilePage = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
if ( bShowProfilePage )
|
|
{
|
|
OnSteamStatsAndAchievementsReady();
|
|
}
|
|
|
|
bShouldUpdateVeterancy = false;
|
|
}
|
|
else if ( PC.SteamStatsAndAchievements != none && PC.SteamStatsAndAchievements.bInitialized )
|
|
{
|
|
KFPlayerController(PC).SendSelectedVeterancyToServer();
|
|
bShouldUpdateVeterancy = false;
|
|
}
|
|
}
|
|
|
|
/* if ( KFGRI == none ) // May not have been received yet on client.
|
|
{
|
|
l_TitleBar.Caption = WaitingForServerStatus;
|
|
Return False;
|
|
}
|
|
*/
|
|
// First fill in non-ready players.
|
|
|
|
|
|
if ( KFGRI != none )
|
|
{
|
|
for ( i = 0; i < KFGRI.PRIArray.Length; i++ )
|
|
{
|
|
if ( KFGRI.PRIArray[i] == none || KFGRI.PRIArray[i].bOnlySpectator || KFGRI.PRIArray[i].bReadyToPlay )
|
|
{
|
|
continue;
|
|
}
|
|
|
|
PlayerPerk[j].Image = none;
|
|
ReadyBox[j].Checked(False);
|
|
ReadyBox[j].SetCaption(Left(KFGRI.PRIArray[i].PlayerName, 20));
|
|
|
|
if ( KFPlayerReplicationInfo(KFGRI.PRIArray[i]).ClientVeteranSkill != none )
|
|
{
|
|
PlayerVetLabel[j].Caption = LvAbbrString @ KFPlayerReplicationInfo(KFGRI.PRIArray[i]).ClientVeteranSkillLevel @ KFPlayerReplicationInfo(KFGRI.PRIArray[i]).ClientVeteranSkill.default.VeterancyName;
|
|
PlayerPerk[j].Image = KFPlayerReplicationInfo(KFGRI.PRIArray[i]).ClientVeteranSkill.default.OnHUDIcon;
|
|
}
|
|
|
|
//PlayerBox[j].ImageColor = PlayerBox[j].Default.ImageColor;
|
|
InList[j] = KFGRI.PRIArray[i];
|
|
j++;
|
|
if( j >= 6 )
|
|
{
|
|
GoTo'DoneIt';
|
|
}
|
|
}
|
|
|
|
// Then comes rest.
|
|
for ( i = 0; i < KFGRI.PRIArray.Length; i++ )
|
|
{
|
|
if ( KFGRI.PRIArray[i] == none || KFGRI.PRIArray[i].bOnlySpectator )
|
|
{
|
|
Continue;
|
|
}
|
|
|
|
bWasThere = False;
|
|
|
|
for ( z = 0; z < j; z++ )
|
|
{
|
|
if ( InList[z] == KFGRI.PRIArray[i] )
|
|
{
|
|
bWasThere = True;
|
|
Break;
|
|
}
|
|
}
|
|
|
|
if ( bWasThere )
|
|
{
|
|
Continue;
|
|
}
|
|
|
|
PlayerPerk[j].Image = none;
|
|
ReadyBox[j].Checked(KFGRI.PRIArray[i].bReadyToPlay);
|
|
ReadyBox[j].SetCaption(Left(KFGRI.PRIArray[i].PlayerName, 20));
|
|
|
|
if ( KFPlayerReplicationInfo(KFGRI.PRIArray[i]).ClientVeteranSkill != none )
|
|
{
|
|
PlayerVetLabel[j].Caption = LvAbbrString @ KFPlayerReplicationInfo(KFGRI.PRIArray[i]).ClientVeteranSkillLevel @ KFPlayerReplicationInfo(KFGRI.PRIArray[i]).ClientVeteranSkill.default.VeterancyName;
|
|
PlayerPerk[j].Image = KFPlayerReplicationInfo(KFGRI.PRIArray[i]).ClientVeteranSkill.default.OnHUDIcon;
|
|
}
|
|
|
|
if ( KFGRI.PRIArray[i].bReadyToPlay )
|
|
{
|
|
//PlayerBox[j].ImageColor.R = 200;
|
|
//PlayerBox[j].ImageColor.G = 75;
|
|
//PlayerBox[j].ImageColor.B = 75;
|
|
//PlayerBox[j].ImageColor.A = 200;
|
|
|
|
if ( !bTimeoutTimeLogged )
|
|
{
|
|
ActivateTimeoutTime = PC.Level.TimeSeconds;
|
|
bTimeoutTimeLogged = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//PlayerBox[j].ImageColor = PlayerBox[j].Default.ImageColor;
|
|
}
|
|
|
|
j++;
|
|
|
|
if ( j >= 6 )
|
|
{
|
|
Break;
|
|
}
|
|
}
|
|
}
|
|
|
|
while( j < 6 )
|
|
{
|
|
PlayerPerk[j].Image = none;
|
|
ReadyBox[j].Checked(False);
|
|
ReadyBox[j].SetCaption("");
|
|
PlayerVetLabel[j].Caption = "";
|
|
//PlayerBox[j].ImageColor = PlayerBox[j].Default.ImageColor;
|
|
j++;
|
|
}
|
|
|
|
DoneIt:
|
|
StoryString = PC.Level.Description;
|
|
|
|
if ( !bStoryBoxFilled )
|
|
{
|
|
l_StoryBox.LoadStoryText();
|
|
bStoryBoxFilled = true;
|
|
}
|
|
|
|
CheckBotButtonAccess();
|
|
|
|
// Hate to do it like this, but there's no real easy way to get the SkillLevel strings from the Scoreboard, since it's only ever
|
|
// called as a class. Spawning a fresh one /w DynamicLoadObject doesn't work too great (online).
|
|
if ( KFGRI != none )
|
|
{
|
|
if ( KFGRI.BaseDifficulty == 1 )
|
|
{
|
|
SkillString = BeginnerString;
|
|
}
|
|
else if ( KFGRI.BaseDifficulty == 2 )
|
|
{
|
|
SkillString = NormalString;
|
|
}
|
|
else if ( KFGRI.BaseDifficulty == 4 )
|
|
{
|
|
SkillString = HardString;
|
|
}
|
|
else if ( KFGRI.BaseDifficulty == 5 )
|
|
{
|
|
SkillString = SuicidalString;
|
|
}
|
|
else if ( KFGRI.BaseDifficulty == 7 )
|
|
{
|
|
SkillString = HellOnEarthString;
|
|
}
|
|
}
|
|
|
|
// l_TitleBar.Caption = (SkillString@KFGRI.GameName$" on "$PC.Level.Title);
|
|
|
|
CurrentMapLabel.Caption = CurrentMapString @ PC.Level.Title;
|
|
DifficultyLabel.Caption = DifficultyString @ SkillString;
|
|
|
|
return false;
|
|
}
|
|
|
|
function bool StopClose(optional bool bCancelled)
|
|
{
|
|
bStoryBoxFilled = false;
|
|
|
|
CheckBotButtonAccess();
|
|
UpdateBotSlots();
|
|
ClearChatBox();
|
|
|
|
// this is for the OnCanClose delegate
|
|
// can't close now unless done by call to CloseAll,
|
|
// or the bool has been set to true by LobbyFooter
|
|
return false;
|
|
}
|
|
|
|
event Opened(GUIComponent Sender) // Called when the Menu Owner is opened
|
|
{
|
|
if ( LobbyMenuAd == none)
|
|
{
|
|
LobbyMenuAd = new class'LobbyMenuAd';
|
|
|
|
if (LobbyMenuAd.MenuMovie == None)
|
|
{
|
|
LobbyMenuAd.MenuMovie = new class'Movie';
|
|
LobbyMenuAd.MenuMovie.Callbacks = LobbyMenuAd;
|
|
}
|
|
}
|
|
|
|
bShouldUpdateVeterancy = true;
|
|
SetTimer(1,true);
|
|
VideoTimer = 0.0;
|
|
VideoPlayed = false;
|
|
VideoOpened = false;
|
|
}
|
|
|
|
/*
|
|
functon InternalReOpen()
|
|
{
|
|
VideoTimer = 0.0;
|
|
VideoPlayed = false;
|
|
}
|
|
*/
|
|
|
|
function InternalOnClosed(bool bCancelled)
|
|
{
|
|
if ( PlayerOwner() != none)
|
|
{
|
|
PlayerOwner().Advertising_ExitZone();
|
|
}
|
|
|
|
if (LobbyMenuAd != None)
|
|
{
|
|
LobbyMenuAd.DestroyMovie();
|
|
LobbyMenuAd = none;
|
|
}
|
|
}
|
|
|
|
event Timer()
|
|
{
|
|
local KFGameReplicationInfo KF;
|
|
|
|
if ( PlayerOwner().PlayerReplicationInfo.bOnlySpectator )
|
|
{
|
|
label_TimeOutCounter.caption = "You are a spectator.";
|
|
Return;
|
|
}
|
|
|
|
KF = KFGameReplicationInfo(PlayerOwner().GameReplicationInfo);
|
|
|
|
if ( KF==None )
|
|
{
|
|
label_TimeOutCounter.caption = WaitingForServerStatus;
|
|
}
|
|
else if ( KF.LobbyTimeout <= 0 )
|
|
{
|
|
label_TimeOutCounter.caption = WaitingForOtherPlayers;
|
|
}
|
|
else
|
|
{
|
|
label_TimeOutCounter.caption = AutoCommence$":" @ KF.LobbyTimeout;
|
|
}
|
|
}
|
|
|
|
function DrawPerk(Canvas Canvas)
|
|
{
|
|
local float X, Y, Width, Height;
|
|
local int CurIndex, LevelIndex;
|
|
local float TempX, TempY;
|
|
local float TempWidth, TempHeight;
|
|
local float IconSize, ProgressBarWidth, PerkProgress;
|
|
local string PerkName, PerkLevelString;
|
|
local bool focused;
|
|
|
|
DrawPortrait();
|
|
|
|
focused = Controller.ActivePage == self;
|
|
|
|
if (focused)
|
|
{
|
|
VideoTimer += Controller.RenderDelta;
|
|
}
|
|
else
|
|
{
|
|
if (LobbyMenuAd == None || !LobbyMenuAd.MenuMovie.IsPlaying())
|
|
{
|
|
VideoTimer = 0.0;
|
|
}
|
|
|
|
VideoPlayed = false;
|
|
}
|
|
|
|
if (focused && LobbyMenuAd != None)
|
|
{
|
|
Canvas.SetPos(0.066797 * Canvas.ClipX + 5, 0.325208 * Canvas.ClipY + 30);
|
|
X = Canvas.ClipX / 1024; // X & Y scale
|
|
|
|
AdBackground.WinWidth = 320 * X + 10;
|
|
AdBackground.WinHeight = 240 * X + 37;
|
|
|
|
// if ( !VideoOpened && (LobbyMenuAd.GetState() == ADASSET_STATE_DOWNLOADED))
|
|
// {
|
|
// // Open the video
|
|
// VideoOpened = true;
|
|
//
|
|
// LobbyMenuAd.MenuMovie.Open(LobbyMenuAd.DownloadPath);
|
|
// }
|
|
/*else*/ if ( !VideoOpened /*&& (LobbyMenuAd.GetState() == ADASSET_STATE_ERROR)*/)
|
|
{
|
|
// Open the video
|
|
VideoOpened = true;
|
|
LobbyMenuAd.MenuMovie.Open("../Movies/Movie"$(rand(MAX_MOVIES) + 1)$".bik");
|
|
}
|
|
|
|
// Hold on the first frame for 3 seconds so it doesn't
|
|
// Overwhelm the player
|
|
if ( !VideoPlayed && VideoTimer > 3.0 )
|
|
{
|
|
// Start video
|
|
VideoPlayed = true;
|
|
LobbyMenuAd.MenuMovie.Play(false);
|
|
}
|
|
|
|
Canvas.DrawTile(LobbyMenuAd.MenuMovie, 320 * X, 240 * X,
|
|
0, 0, 320, 240);
|
|
}
|
|
|
|
if ( KFPlayerController(PlayerOwner()) == none || KFPlayerController(PlayerOwner()).SelectedVeterancy == none ||
|
|
KFSteamStatsAndAchievements(PlayerOwner().SteamStatsAndAchievements) == none )
|
|
{
|
|
return;
|
|
}
|
|
else
|
|
|
|
CurIndex = KFPlayerController(PlayerOwner()).SelectedVeterancy.default.PerkIndex;
|
|
LevelIndex = KFSteamStatsAndAchievements(PlayerOwner().SteamStatsAndAchievements).PerkHighestLevelAvailable(CurIndex);
|
|
PerkName = KFPlayerController(PlayerOwner()).SelectedVeterancy.default.VeterancyName;
|
|
PerkLevelString = LvAbbrString @ LevelIndex;
|
|
PerkProgress = KFSteamStatsAndAchievements(PlayerOwner().SteamStatsAndAchievements).GetPerkProgress(CurIndex);
|
|
|
|
//Get the position size etc in pixels
|
|
X = i_BGPerk.ActualLeft() + 5;
|
|
Y = i_BGPerk.ActualTop() + 30;
|
|
|
|
Width = i_BGPerk.ActualWidth() - 10;
|
|
Height = i_BGPerk.ActualHeight() - 37;
|
|
|
|
// Offset for the Background
|
|
TempX = X;
|
|
TempY = Y + ItemSpacing / 2.0;
|
|
|
|
// Initialize the Canvas
|
|
Canvas.Style = 1;
|
|
Canvas.Font = class'ROHUD'.Static.GetSmallMenuFont(Canvas);
|
|
Canvas.SetDrawColor(255, 255, 255, 255);
|
|
|
|
// Draw Item Background
|
|
Canvas.SetPos(TempX, TempY);
|
|
//Canvas.DrawTileStretched(ItemBackground, Width, Height);
|
|
|
|
IconSize = Height - ItemSpacing;
|
|
|
|
// Draw Item Background
|
|
Canvas.DrawTileStretched(PerkBackground, IconSize, IconSize);
|
|
Canvas.SetPos(TempX + IconSize - 1.0, Y + 7.0);
|
|
Canvas.DrawTileStretched(InfoBackground, Width - IconSize, Height - ItemSpacing - 14);
|
|
|
|
IconSize -= IconBorder * 2.0 * Height;
|
|
|
|
// Draw Icon
|
|
Canvas.SetPos(TempX + IconBorder * Height, TempY + IconBorder * Height);
|
|
Canvas.DrawTile(class'KFGameType'.default.LoadedSkills[CurIndex].default.OnHUDIcon, IconSize, IconSize, 0, 0, 256, 256);
|
|
|
|
TempX += IconSize + (IconToInfoSpacing * Width);
|
|
TempY += TextTopOffset * Height + ItemBorder * Height;
|
|
|
|
ProgressBarWidth = Width - (TempX - X) - (IconToInfoSpacing * Width);
|
|
|
|
// Select Text Color
|
|
Canvas.SetDrawColor(0, 0, 0, 255);
|
|
|
|
// Draw the Perk's Level name
|
|
Canvas.StrLen(PerkName, TempWidth, TempHeight);
|
|
Canvas.SetPos(TempX, TempY);
|
|
Canvas.DrawText(PerkName);
|
|
|
|
// Draw the Perk's Level
|
|
if ( PerkLevelString != "" )
|
|
{
|
|
Canvas.StrLen(PerkLevelString, TempWidth, TempHeight);
|
|
Canvas.SetPos(TempX + ProgressBarWidth - TempWidth, TempY);
|
|
Canvas.DrawText(PerkLevelString);
|
|
}
|
|
|
|
TempY += TempHeight + (0.04 * Height);
|
|
|
|
// Draw Progress Bar
|
|
Canvas.SetDrawColor(255, 255, 255, 255);
|
|
Canvas.SetPos(TempX, TempY);
|
|
Canvas.DrawTileStretched(ProgressBarBackground, ProgressBarWidth, ProgressBarHeight * Height);
|
|
Canvas.SetPos(TempX + 3.0, TempY + 3.0);
|
|
Canvas.DrawTileStretched(ProgressBarForeground, (ProgressBarWidth - 6.0) * PerkProgress, (ProgressBarHeight * Height) - 6.0);
|
|
|
|
if ( PlayerOwner().SteamStatsAndAchievements.bUsedCheats )
|
|
{
|
|
if ( CurrentVeterancyLevel != 255 )
|
|
{
|
|
lb_PerkEffects.SetContent(PerksDisabledString);
|
|
CurrentVeterancyLevel = 255;
|
|
}
|
|
}
|
|
else if ( CurrentVeterancy != KFPlayerController(PlayerOwner()).SelectedVeterancy || CurrentVeterancyLevel != LevelIndex )
|
|
{
|
|
lb_PerkEffects.SetContent(KFPlayerController(PlayerOwner()).SelectedVeterancy.default.LevelEffects[LevelIndex]);
|
|
CurrentVeterancy = KFPlayerController(PlayerOwner()).SelectedVeterancy;
|
|
CurrentVeterancyLevel = LevelIndex;
|
|
}
|
|
}
|
|
|
|
function DrawPortrait()
|
|
{
|
|
sChar = PlayerOwner().GetUrlOption("Character");
|
|
sCharD = sChar;
|
|
SetPlayerRec();
|
|
}
|
|
|
|
function SetPlayerRec()
|
|
{
|
|
local int i;
|
|
local array<xUtil.PlayerRecord> PList;
|
|
|
|
class'xUtil'.static.GetPlayerList(PList);
|
|
|
|
// Filter out to only characters without the 's' menu setting
|
|
for ( i = 0; i < PList.Length; i++ )
|
|
{
|
|
if ( sChar ~= Plist[i].DefaultName )
|
|
{
|
|
PlayerRec = PList[i];
|
|
break;
|
|
}
|
|
}
|
|
|
|
i_Portrait.Image = PlayerRec.Portrait;
|
|
}
|
|
|
|
function bool ShowPerkMenu(GUIComponent Sender)
|
|
{
|
|
if ( PlayerOwner() != none)
|
|
{
|
|
PlayerOwner().ClientOpenMenu("KFGUI.KFProfilePage", false);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
function OnSteamStatsAndAchievementsReady()
|
|
{
|
|
Controller.OpenMenu("KFGUI.KFProfilePage");
|
|
|
|
Controller.OpenMenu(Controller.QuestionMenuClass);
|
|
GUIQuestionPage(Controller.TopPage()).SetupQuestion(SelectPerkInformationString, QBTN_Ok, QBTN_Ok);
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
IconBorder=0.05
|
|
ItemBorder=0.11
|
|
ProgressBarHeight=0.3
|
|
IconToInfoSpacing=0.05
|
|
TextTopOffset=0.05
|
|
ItemSpacing=0.0
|
|
PerkBackground=Texture'KF_InterfaceArt_tex.Menu.Item_box_box'
|
|
InfoBackground=Texture'KF_InterfaceArt_tex.Menu.Item_box_bar'
|
|
ProgressBarBackground=Texture'KF_InterfaceArt_tex.Menu.Innerborder'
|
|
ProgressBarForeground=Texture'InterfaceArt_tex.Menu.progress_bar'
|
|
|
|
WaitingForServerStatus="Awaiting server status..."
|
|
WaitingForOtherPlayers="Waiting for players to be ready..."
|
|
AutoCommence="Game will auto-commence in"
|
|
|
|
CurrentMapString="Current Map:"
|
|
DifficultyString="Difficulty Level:"
|
|
LvAbbrString="Lv"
|
|
|
|
BeginnerString="Beginner"
|
|
NormalString="Normal"
|
|
HardString="Hard"
|
|
SuicidalString="Suicidal"
|
|
HellOnEarthString="Hell on Earth"
|
|
|
|
SelectPerkInformationString="Perks enhance certain abilities of your character.|There are 6 Perks to choose from in the center of the screen.|Each has different Effects shown in the upper right.|Perks improve as you complete the Level Requirements shown on the right."
|
|
PerksDisabledString="Perk Progress has been disabled because the Game Length is set to Custom, Sandbox Mode is on, or you have previously used Cheats."
|
|
|
|
Begin Object Class=moCheckBox Name=ReadyBox0
|
|
bValueReadOnly=True
|
|
ComponentJustification=TXTA_Left
|
|
CaptionWidth=0.820000
|
|
Caption="NAME1"
|
|
OnCreateComponent=ReadyBox0.InternalOnCreateComponent
|
|
WinTop=0.0475
|
|
WinLeft=0.075000
|
|
WinWidth=0.400000
|
|
WinHeight=0.045000
|
|
bAcceptsInput=false
|
|
bNeverFocus=true
|
|
bAnimating=true
|
|
RenderWeight=0.55
|
|
LabelColor=(R=10,G=10,B=10,A=210)
|
|
LabelStyleName=""
|
|
End Object
|
|
ReadyBox(0)=moCheckBox'KFGui.LobbyMenu.ReadyBox0'
|
|
|
|
Begin Object Class=moCheckBox Name=ReadyBox1
|
|
bValueReadOnly=True
|
|
ComponentJustification=TXTA_Left
|
|
CaptionWidth=0.820000
|
|
Caption="NAME2"
|
|
OnCreateComponent=ReadyBox1.InternalOnCreateComponent
|
|
WinTop=0.0925000
|
|
WinLeft=0.075000
|
|
WinWidth=0.400000
|
|
WinHeight=0.045000
|
|
bAcceptsInput=false
|
|
bNeverFocus=true
|
|
bAnimating=true
|
|
RenderWeight=0.55
|
|
LabelColor=(R=0,G=0,B=0,A=255)
|
|
End Object
|
|
ReadyBox(1)=moCheckBox'KFGui.LobbyMenu.ReadyBox1'
|
|
|
|
Begin Object Class=moCheckBox Name=ReadyBox2
|
|
bValueReadOnly=True
|
|
ComponentJustification=TXTA_Left
|
|
CaptionWidth=0.820000
|
|
Caption="NAME3"
|
|
OnCreateComponent=ReadyBox2.InternalOnCreateComponent
|
|
WinTop=0.137500
|
|
WinLeft=0.075000
|
|
WinWidth=0.400000
|
|
WinHeight=0.048000
|
|
bAcceptsInput=false
|
|
bNeverFocus=true
|
|
bAnimating=true
|
|
RenderWeight=0.55
|
|
LabelColor=(R=0,G=0,B=0,A=255)
|
|
End Object
|
|
ReadyBox(2)=moCheckBox'KFGui.LobbyMenu.ReadyBox2'
|
|
|
|
Begin Object Class=moCheckBox Name=ReadyBox3
|
|
bValueReadOnly=True
|
|
ComponentJustification=TXTA_Left
|
|
CaptionWidth=0.820000
|
|
Caption="NAME4"
|
|
OnCreateComponent=ReadyBox3.InternalOnCreateComponent
|
|
WinTop=0.182500
|
|
WinLeft=0.075000
|
|
WinWidth=0.400000
|
|
WinHeight=0.045000
|
|
bAcceptsInput=false
|
|
bNeverFocus=true
|
|
bAnimating=true
|
|
RenderWeight=0.55
|
|
LabelColor=(R=0,G=0,B=0,A=255)
|
|
End Object
|
|
ReadyBox(3)=moCheckBox'KFGui.LobbyMenu.ReadyBox3'
|
|
|
|
Begin Object Class=moCheckBox Name=ReadyBox4
|
|
bValueReadOnly=True
|
|
ComponentJustification=TXTA_Left
|
|
CaptionWidth=0.820000
|
|
Caption="NAME5"
|
|
OnCreateComponent=ReadyBox4.InternalOnCreateComponent
|
|
WinTop=0.227500
|
|
WinLeft=0.075000
|
|
WinWidth=0.400000
|
|
WinHeight=0.045000
|
|
bAcceptsInput=false
|
|
bNeverFocus=true
|
|
bAnimating=true
|
|
RenderWeight=0.55
|
|
LabelColor=(R=0,G=0,B=0,A=255)
|
|
End Object
|
|
ReadyBox(4)=moCheckBox'KFGui.LobbyMenu.ReadyBox4'
|
|
|
|
Begin Object Class=moCheckBox Name=ReadyBox5
|
|
bValueReadOnly=True
|
|
ComponentJustification=TXTA_Left
|
|
CaptionWidth=0.820000
|
|
Caption="NAME6"
|
|
OnCreateComponent=ReadyBox5.InternalOnCreateComponent
|
|
WinTop=0.272500
|
|
WinLeft=0.075000
|
|
WinWidth=0.400000
|
|
WinHeight=0.045000
|
|
bAcceptsInput=false
|
|
bNeverFocus=true
|
|
bAnimating=true
|
|
RenderWeight=0.55
|
|
LabelColor=(R=0,G=0,B=0,A=255)
|
|
End Object
|
|
ReadyBox(5)=moCheckBox'KFGui.LobbyMenu.ReadyBox5'
|
|
|
|
Begin Object Class=KFPlayerReadyBar Name=Player1BackDrop
|
|
WinTop=0.040000
|
|
WinLeft=0.040000
|
|
WinWidth=0.350000
|
|
WinHeight=0.045000
|
|
RenderWeight=0.35
|
|
End Object
|
|
PlayerBox(0)=KFPlayerReadyBar'KFGui.LobbyMenu.Player1BackDrop'
|
|
|
|
Begin Object Class=GUIImage Name=Player1P
|
|
Image=none//texture'KillingFloorHUD.Perks.Perk_FireBug'
|
|
ImageColor=(B=255,G=255,R=255,A=255)
|
|
ImageStyle=ISTY_Justified
|
|
WinTop=0.043000
|
|
WinLeft=0.040000
|
|
WinWidth=0.039000
|
|
WinHeight=0.039000
|
|
RenderWeight=0.56
|
|
End Object
|
|
PlayerPerk(0)=GUIImage'KFGui.LobbyMenu.Player1P'
|
|
|
|
Begin Object Class=KFPlayerReadyBar Name=Player2BackDrop
|
|
WinTop=0.085000
|
|
WinLeft=0.040000
|
|
WinWidth=0.350000
|
|
WinHeight=0.045000
|
|
RenderWeight=0.35
|
|
End Object
|
|
PlayerBox(1)=KFPlayerReadyBar'KFGui.LobbyMenu.Player2BackDrop'
|
|
|
|
Begin Object Class=GUIImage Name=Player2P
|
|
Image=none//texture'KillingFloorHUD.Perks.Perk_FireBug'
|
|
ImageColor=(B=255,G=255,R=255,A=255)
|
|
ImageStyle=ISTY_Justified
|
|
WinTop=0.088000
|
|
WinLeft=0.040000
|
|
WinWidth=0.045000
|
|
WinHeight=0.039000
|
|
RenderWeight=0.56
|
|
End Object
|
|
PlayerPerk(1)=GUIImage'KFGui.LobbyMenu.Player2P'
|
|
|
|
Begin Object Class=KFPlayerReadyBar Name=Player3BackDrop
|
|
WinTop=0.130000
|
|
WinLeft=0.040000
|
|
WinWidth=0.350000
|
|
WinHeight=0.045000
|
|
RenderWeight=0.35
|
|
End Object
|
|
PlayerBox(2)=KFPlayerReadyBar'KFGui.LobbyMenu.Player3BackDrop'
|
|
|
|
Begin Object Class=GUIImage Name=Player3P
|
|
Image=none//texture'KillingFloorHUD.Perks.Perk_FireBug'
|
|
ImageColor=(B=255,G=255,R=255,A=255)
|
|
ImageStyle=ISTY_Justified
|
|
WinTop=0.133000
|
|
WinLeft=0.040000
|
|
WinWidth=0.045000
|
|
WinHeight=0.039000
|
|
RenderWeight=0.56
|
|
End Object
|
|
PlayerPerk(2)=GUIImage'KFGui.LobbyMenu.Player3P'
|
|
|
|
Begin Object Class=KFPlayerReadyBar Name=Player4BackDrop
|
|
WinTop=0.175000
|
|
WinLeft=0.040000
|
|
WinWidth=0.350000
|
|
WinHeight=0.045000
|
|
RenderWeight=0.35
|
|
End Object
|
|
PlayerBox(3)=KFPlayerReadyBar'KFGui.LobbyMenu.Player4BackDrop'
|
|
|
|
Begin Object Class=GUIImage Name=Player4P
|
|
Image=none//texture'KillingFloorHUD.Perks.Perk_FireBug'
|
|
ImageColor=(B=255,G=255,R=255,A=255)
|
|
ImageStyle=ISTY_Justified
|
|
WinTop=0.178000
|
|
WinLeft=0.040000
|
|
WinWidth=0.045000
|
|
WinHeight=0.039000
|
|
RenderWeight=0.56
|
|
End Object
|
|
PlayerPerk(3)=GUIImage'KFGui.LobbyMenu.Player4P'
|
|
|
|
Begin Object Class=KFPlayerReadyBar Name=Player5BackDrop
|
|
WinTop=0.220000
|
|
WinLeft=0.040000
|
|
WinWidth=0.350000
|
|
WinHeight=0.045000
|
|
RenderWeight=0.35
|
|
End Object
|
|
PlayerBox(4)=KFPlayerReadyBar'KFGui.LobbyMenu.Player5BackDrop'
|
|
|
|
Begin Object Class=GUIImage Name=Player5P
|
|
Image=none//texture'KillingFloorHUD.Perks.Perk_FireBug'
|
|
ImageColor=(B=255,G=255,R=255,A=255)
|
|
ImageStyle=ISTY_Justified
|
|
WinTop=0.223000
|
|
WinLeft=0.040000
|
|
WinWidth=0.045000
|
|
WinHeight=0.039000
|
|
RenderWeight=0.56
|
|
End Object
|
|
PlayerPerk(4)=GUIImage'KFGui.LobbyMenu.Player5P'
|
|
|
|
Begin Object Class=KFPlayerReadyBar Name=Player6BackDrop
|
|
WinTop=0.265000
|
|
WinLeft=0.040000
|
|
WinWidth=0.350000
|
|
WinHeight=0.045000
|
|
RenderWeight=0.35
|
|
End Object
|
|
PlayerBox(5)=KFPlayerReadyBar'KFGui.LobbyMenu.Player6BackDrop'
|
|
|
|
Begin Object Class=GUIImage Name=Player6P
|
|
Image=none//texture'KillingFloorHUD.Perks.Perk_FireBug'
|
|
ImageColor=(B=255,G=255,R=255,A=255)
|
|
ImageStyle=ISTY_Justified
|
|
WinTop=0.268000
|
|
WinLeft=0.040000
|
|
WinWidth=0.045000
|
|
WinHeight=0.039000
|
|
RenderWeight=0.56
|
|
End Object
|
|
PlayerPerk(5)=GUIImage'KFGui.LobbyMenu.Player6P'
|
|
|
|
Begin Object Class=GUILabel Name=Player1Veterancy
|
|
TextAlign=TXTA_Right
|
|
TextFont="UT2SmallFont"
|
|
TextColor=(B=19,G=19,R=19,A=255)
|
|
WinTop=0.040000
|
|
WinLeft=0.229070
|
|
WinWidth=0.151172
|
|
WinHeight=0.045000
|
|
RenderWeight=0.5
|
|
End Object
|
|
PlayerVetLabel(0)=GUILabel'KFGui.LobbyMenu.Player1Veterancy'
|
|
|
|
Begin Object Class=GUILabel Name=Player2Veterancy
|
|
TextFont="UT2SmallFont"
|
|
TextAlign=TXTA_Right
|
|
TextColor=(B=19,G=19,R=19,A=255)
|
|
WinTop=0.085000
|
|
WinLeft=0.229070
|
|
WinWidth=0.151172
|
|
WinHeight=0.045000
|
|
RenderWeight=0.5
|
|
End Object
|
|
PlayerVetLabel(1)=GUILabel'KFGui.LobbyMenu.Player2Veterancy'
|
|
|
|
Begin Object Class=GUILabel Name=Player3Veterancy
|
|
TextFont="UT2SmallFont"
|
|
TextAlign=TXTA_Right
|
|
TextColor=(B=19,G=19,R=19,A=255)
|
|
WinTop=0.130000
|
|
WinLeft=0.229070
|
|
WinWidth=0.151172
|
|
WinHeight=0.045000
|
|
RenderWeight=0.55
|
|
End Object
|
|
PlayerVetLabel(2)=GUILabel'KFGui.LobbyMenu.Player3Veterancy'
|
|
|
|
Begin Object Class=GUILabel Name=Player4Veterancy
|
|
TextFont="UT2SmallFont"
|
|
TextAlign=TXTA_Right
|
|
TextColor=(B=19,G=19,R=19,A=255)
|
|
WinTop=0.175000
|
|
WinLeft=0.229070
|
|
WinWidth=0.151172
|
|
WinHeight=0.045000
|
|
RenderWeight=0.55
|
|
End Object
|
|
PlayerVetLabel(3)=GUILabel'KFGui.LobbyMenu.Player4Veterancy'
|
|
|
|
Begin Object Class=GUILabel Name=Player5Veterancy
|
|
TextFont="UT2SmallFont"
|
|
TextAlign=TXTA_Right
|
|
TextColor=(B=19,G=19,R=19,A=255)
|
|
WinTop=0.220000
|
|
WinLeft=0.229070
|
|
WinWidth=0.151172
|
|
WinHeight=0.045000
|
|
RenderWeight=0.55
|
|
End Object
|
|
PlayerVetLabel(4)=GUILabel'KFGui.LobbyMenu.Player5Veterancy'
|
|
|
|
Begin Object Class=GUILabel Name=Player6Veterancy
|
|
TextFont="UT2SmallFont"
|
|
TextAlign=TXTA_Right
|
|
TextColor=(B=19,G=19,R=19,A=255)
|
|
WinTop=0.265000
|
|
WinLeft=0.229070
|
|
WinWidth=0.151172
|
|
WinHeight=0.045000
|
|
RenderWeight=0.55
|
|
End Object
|
|
PlayerVetLabel(5)=GUILabel'KFGui.LobbyMenu.Player6Veterancy'
|
|
|
|
Begin Object Class=KFLobbyChat Name=ChatBox
|
|
OnCreateComponent=ChatBox.InternalOnCreateComponent
|
|
TabOrder=1
|
|
RenderWeight=0.01
|
|
//OnPreDraw=ChatBox.FloatingPreDraw
|
|
//OnRendered=ChatBox.FloatingRendered
|
|
OnHover=ChatBox.FloatingHover
|
|
//OnMousePressed=ChatBox.FloatingMousePressed
|
|
//OnMouseRelease=ChatBox.FloatingMouseRelease
|
|
WinTop=0.80760
|
|
WinLeft=0.016090
|
|
WinWidth=0.971410
|
|
WinHeight=0.100000
|
|
ToolTip=none
|
|
End Object
|
|
t_ChatBox=KFLobbyChat'KFGui.LobbyMenu.ChatBox'
|
|
|
|
/* Begin Object Class=KFLobbyTitleLabel Name=LobbyTitle
|
|
TextColor=(B=255,G=255,R=255)
|
|
WinTop=0.009375
|
|
WinLeft=0.043164
|
|
WinWidth=0.915313
|
|
WinHeight=0.049359
|
|
RenderWeight=0.300000
|
|
bScaleToParent=True
|
|
End Object
|
|
l_TitleBar=KFLobbyTitleLabel'KFGui.LobbyMenu.LobbyTitle'
|
|
*/
|
|
Begin Object Class=KFMapStoryLabel Name=LobbyMapStoryBox
|
|
OnCreateComponent=LobbyMapStoryBox.InternalOnCreateComponent
|
|
ToolTip=none
|
|
End Object
|
|
l_StoryBox=KFMapStoryLabel'KFGui.LobbyMenu.LobbyMapStoryBox'
|
|
|
|
Begin Object Class=AltSectionBackground Name=GameInfoB
|
|
WinTop=0.037851
|
|
WinLeft=0.489062
|
|
WinWidth=0.487374
|
|
WinHeight=0.075000
|
|
ToolTip=none
|
|
End Object
|
|
GameInfoBG=GameInfoB
|
|
|
|
Begin Object Class=AltSectionBackground Name=StoryBoxBackground
|
|
bNoCaption=true
|
|
WinTop=0.109808
|
|
WinLeft=0.489062
|
|
WinWidth=0.487374
|
|
WinHeight=0.309092
|
|
OnPreDraw=StoryBoxBackground.InternalPreDraw
|
|
ToolTip=none
|
|
End Object
|
|
StoryBoxBG=GUISectionBackground'KFGui.LobbyMenu.StoryBoxBackground'
|
|
|
|
Begin Object Class=KFBotComboBox Name=BotComboBox1
|
|
ComponentJustification=TXTA_Left
|
|
CaptionWidth=0.650000
|
|
Caption=" Bot Control"
|
|
OnCreateComponent=BotComboBox1.InternalOnCreateComponent
|
|
Hint="Select Bot to Add"
|
|
WinTop=0.550000
|
|
WinLeft=0.400000
|
|
WinWidth=0.550000
|
|
TabOrder=10
|
|
OnChange=LobbyMenu.InternalOnChange
|
|
End Object
|
|
BotSlot1=KFBotComboBox'KFGui.LobbyMenu.BotComboBox1'
|
|
|
|
Begin Object Class=KFAddBotButton Name=AddBotGUIButton
|
|
OnCreateComponent=AddBotGUIButton.InternalOnCreateComponent
|
|
WinTop=0.650000
|
|
WinLeft=0.450000
|
|
WinWidth=0.450000
|
|
OnChange=LobbyMenu.InternalOnChange
|
|
End Object
|
|
AddBotButton=KFAddBotButton'KFGui.LobbyMenu.AddBotGUIButton'
|
|
|
|
Begin Object Class=KFRemoveBotButton Name=RemoveBotGUIButton
|
|
OnCreateComponent=RemoveBotGUIButton.InternalOnCreateComponent
|
|
WinTop=0.700000
|
|
WinLeft=0.320000
|
|
WinWidth=0.590000
|
|
OnChange=LobbyMenu.InternalOnChange
|
|
End Object
|
|
RemoveBotButton=KFRemoveBotButton'KFGui.LobbyMenu.RemoveBotGUIButton'
|
|
|
|
Begin Object Class=KFRemoveAllBotButton Name=RemoveAllBotsGUIButton
|
|
OnCreateComponent=RemoveAllBotsGUIButton.InternalOnCreateComponent
|
|
WinTop=0.750000
|
|
WinLeft=0.320000
|
|
WinWidth=0.590000
|
|
OnChange=LobbyMenu.InternalOnChange
|
|
End Object
|
|
TotallyRemoveBotsButton=KFRemoveAllBotButton'KFGui.LobbyMenu.RemoveAllBotsGUIButton'
|
|
|
|
Begin Object Class=AltSectionBackground Name=BotAreaBackground
|
|
bNoCaption=true
|
|
WinTop=0.500000
|
|
WinLeft=0.450000
|
|
WinWidth=0.520000
|
|
WinHeight=0.380000
|
|
OnPreDraw=BotAreaBackground.InternalPreDraw
|
|
// HeaderBase=none
|
|
End Object
|
|
BotsBG=AltSectionBackground'KFGui.LobbyMenu.BotAreaBackground'
|
|
|
|
Begin Object Class=LobbyFooter Name=BuyFooter
|
|
RenderWeight=0.300000
|
|
TabOrder=8
|
|
bBoundToParent=False
|
|
bScaleToParent=False
|
|
OnPreDraw=BuyFooter.InternalOnPreDraw
|
|
ToolTip=none
|
|
End Object
|
|
t_Footer=LobbyFooter'KFGui.LobbyMenu.BuyFooter'
|
|
|
|
Begin Object Class=GUILabel Name=TimeOutCounter
|
|
TextAlign=TXTA_Center
|
|
Caption="Game will auto-commence in: "
|
|
FontScale=FNS_Medium
|
|
TextColor=(R=175,G=176,B=158,A=255)
|
|
WinTop=0.00001
|
|
WinLeft=0.059552
|
|
WinWidth=0.346719
|
|
WinHeight=0.045704
|
|
TabOrder=6
|
|
End Object
|
|
label_TimeOutCounter=GUILabel'KFGui.LobbyMenu.TimeOutCounter'
|
|
|
|
Begin Object class=GUISectionBackground Name=BGPerk
|
|
WinTop=0.432291
|
|
WinLeft=0.650976
|
|
WinWidth=0.325157
|
|
WinHeight=0.138086
|
|
Caption="Current Perk"
|
|
bFillClient=true
|
|
Hint=""
|
|
End Object
|
|
i_BGPerk=BGPerk
|
|
|
|
Begin Object class=GUISectionBackground Name=BGPerkEffects
|
|
WinTop=0.568448
|
|
WinLeft=0.650976
|
|
WinWidth=0.325157
|
|
WinHeight=0.307442
|
|
Caption="Perk Effects"
|
|
bFillClient=true
|
|
Hint=""
|
|
End Object
|
|
i_BGPerkEffects=BGPerkEffects
|
|
|
|
Begin Object Class=GUIScrollTextBox Name=PerkEffectsScroll
|
|
WinTop=0.626094
|
|
WinLeft=0.659687
|
|
WinWidth=0.309454
|
|
WinHeight=0.244961
|
|
CharDelay=0.0025
|
|
EOLDelay=0.1
|
|
TabOrder=9
|
|
StyleName="NoBackground"
|
|
Hint=""
|
|
ToolTip=none
|
|
End Object
|
|
lb_PerkEffects=PerkEffectsScroll
|
|
|
|
Begin Object class=GUIImage Name=PlayerPortrait
|
|
WinTop=0.472396
|
|
WinLeft=0.492522
|
|
WinWidth=0.156368
|
|
WinHeight=0.397022
|
|
Image=Texture'InterfaceArt_tex.Menu.changeme_texture' //Material'2K4Menus.Controls.thinpipe_b'
|
|
ImageColor=(R=255,G=255,B=255,A=255)
|
|
ImageRenderStyle=MSTY_Normal
|
|
ImageStyle=ISTY_Scaled
|
|
RenderWeight=0.3
|
|
//OnLoadINI=InternalOnLoadINI
|
|
IniOption="@Internal"
|
|
//OnDraw=InternalDraw
|
|
End Object
|
|
i_Portrait=PlayerPortrait
|
|
|
|
Begin Object class=GUISectionBackground Name=PlayerPortraitB
|
|
WinTop=0.432291
|
|
WinLeft=0.489062
|
|
WinWidth=0.163305
|
|
WinHeight=0.443451
|
|
End Object
|
|
PlayerPortraitBG=PlayerPortraitB
|
|
|
|
Begin Object Class=GUILabel Name=PerkClickArea
|
|
WinTop=0.432395
|
|
WinLeft=0.488851
|
|
WinWidth=0.444405
|
|
WinHeight=0.437312
|
|
OnClick=ShowPerkMenu
|
|
bAcceptsInput=true
|
|
OnClickSound=CS_Click
|
|
End Object
|
|
PerkClickLabel=GUILabel'KFGui.LobbyMenu.PerkClickArea'
|
|
|
|
Begin Object class=GUISectionBackground Name=ADBG
|
|
WinTop=0.325208
|
|
WinLeft=0.066797
|
|
WinWidth=0.322595
|
|
WinHeight=0.374505
|
|
RenderWeight=0.3
|
|
End Object
|
|
ADBackground=ADBG
|
|
|
|
Begin Object Class=GUILabel Name=CurrentMapL
|
|
WinTop=0.042179
|
|
WinLeft=0.496524
|
|
WinWidth=0.36
|
|
WinHeight=0.035714
|
|
RenderWeight=0.900
|
|
Caption="LAlalala Map"
|
|
TextColor=(R=175,G=176,B=158,A=255)
|
|
End Object
|
|
CurrentMapLabel=CurrentMapL
|
|
|
|
Begin Object Class=GUILabel Name=DifficultyL
|
|
WinTop=0.072381
|
|
WinLeft=0.496524
|
|
WinWidth=0.36
|
|
WinHeight=0.035714
|
|
RenderWeight=0.900
|
|
Caption="Difficulty"
|
|
TextColor=(R=175,G=176,B=158,A=255)
|
|
End Object
|
|
DifficultyLabel=DifficultyL
|
|
|
|
Begin Object class=GUIImage Name=WaveB
|
|
WinTop=0.043810
|
|
WinLeft=0.923238
|
|
WinWidth=0.051642
|
|
WinHeight=0.061783
|
|
Image=Texture'KillingFloorHud.HUD.HUD_Bio_Circle' //Material'2K4Menus.Controls.thinpipe_b'
|
|
ImageColor=(R=255,G=255,B=255,A=255)
|
|
ImageRenderStyle=MSTY_Normal
|
|
ImageStyle=ISTY_Justified
|
|
RenderWeight=0.8
|
|
End Object
|
|
WaveBG=WaveB
|
|
|
|
Begin Object Class=GUILabel Name=WaveL
|
|
Caption="1/4"
|
|
TextAlign=TXTA_Center
|
|
TextColor=(B=158,G=176,R=175)
|
|
TextFont="UT2MenuFont"
|
|
VertAlign=TXTA_Center
|
|
FontScale=FNS_Small
|
|
WinTop=0.043810
|
|
WinLeft=0.923238
|
|
WinWidth=0.051642
|
|
WinHeight=0.061783
|
|
RenderWeight=0.900000
|
|
End Object
|
|
WaveLabel=WaveL
|
|
|
|
Begin Object Class=GUIHeader Name=ServerBrowserHeader
|
|
bUseTextHeight=false
|
|
Caption=""
|
|
WinHeight=0
|
|
bVisible=false
|
|
End Object
|
|
t_Header=ServerBrowserHeader
|
|
|
|
c_Tabs=PageTabs
|
|
|
|
i_Background=None
|
|
i_bkChar=None
|
|
i_bkScan=None
|
|
|
|
bRenderWorld=True
|
|
bAllowedAsLast=True
|
|
|
|
OnCanClose=LobbyMenu.StopClose
|
|
WinHeight=0.500000
|
|
OnPreDraw=LobbyMenu.InternalOnPreDraw
|
|
OnRendered=DrawPerk
|
|
OnClose=InternalOnClosed
|
|
OnKeyEvent=InternalOnKeyEvent
|
|
}
|