142 lines
4.2 KiB
Ucode
142 lines
4.2 KiB
Ucode
class stub_LobbyFooter extends LobbyFooter;
|
|
|
|
|
|
function bool InternalOnPreDraw(Canvas C)
|
|
{
|
|
if ( PlayerOwner().PlayerReplicationInfo != none && PlayerOwner().PlayerReplicationInfo.bReadyToPlay )
|
|
{
|
|
b_Ready.Caption = UnreadyString;
|
|
}
|
|
else
|
|
{
|
|
b_Ready.Caption = ReadyString;
|
|
}
|
|
|
|
b_Options.Caption = "View Map";
|
|
|
|
return super(ButtonFooter).InternalOnPreDraw(C);
|
|
}
|
|
|
|
|
|
function bool OnFooterClick(GUIComponent Sender)
|
|
{
|
|
local GUIController C;
|
|
local PlayerController PC;
|
|
local int i;
|
|
|
|
PC = PlayerOwner();
|
|
C = Controller;
|
|
if(Sender == b_Cancel)
|
|
{
|
|
//Kill Window and exit game/disconnect from server
|
|
LobbyMenu(PageOwner).bAllowClose = true;
|
|
C.ViewportOwner.Console.ConsoleCommand("DISCONNECT");
|
|
KFGUIController(C).ReturnToMainMenu();
|
|
}
|
|
else if(Sender == b_Ready)
|
|
{
|
|
if ( PC.PlayerReplicationInfo.Team != none )
|
|
{
|
|
if ( PC.Level.NetMode == NM_Standalone || !PC.PlayerReplicationInfo.bReadyToPlay )
|
|
{
|
|
if ( KFPlayerController(PC) != none )
|
|
{
|
|
KFPlayerController(PC).SendSelectedVeterancyToServer(true);
|
|
}
|
|
|
|
//Set Ready
|
|
PC.ServerRestartPlayer();
|
|
PC.PlayerReplicationInfo.bReadyToPlay = True;
|
|
if ( PC.Level.GRI.bMatchHasBegun )
|
|
PC.ClientCloseMenu(true, false);
|
|
|
|
b_Ready.Caption = UnreadyString;
|
|
}
|
|
else
|
|
{
|
|
if ( KFPlayerController(PC) != none )
|
|
{
|
|
KFPlayerController(PC).ServerUnreadyPlayer();
|
|
PC.PlayerReplicationInfo.bReadyToPlay = False;
|
|
b_Ready.Caption = ReadyString;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
else if (Sender == b_Options)
|
|
{
|
|
// Spectate map while waiting for players to get ready
|
|
LobbyMenu(PageOwner).bAllowClose = true;
|
|
PC.ClientCloseMenu(true, false);
|
|
// PC.ClientOpenMenu("KFGUI.KFSettingsPage", false);
|
|
}
|
|
|
|
// else if (Sender == b_Options)
|
|
// {
|
|
// PC.ClientOpenMenu("KFGUI.KFSettingsPage", false);
|
|
// }
|
|
else if ( Sender == b_Perks )
|
|
{
|
|
if( !Controller.CheckSteam() )
|
|
{
|
|
Controller.OpenMenu(Controller.QuestionMenuClass);
|
|
GUIQuestionPage(Controller.TopPage()).SetupQuestion(class'KFMainMenu'.default.SteamMustBeRunningText, QBTN_Ok, QBTN_Ok);
|
|
return false;
|
|
}
|
|
|
|
if ( PC != none )
|
|
{
|
|
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;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Controller.OpenMenu(Controller.QuestionMenuClass);
|
|
GUIQuestionPage(Controller.TopPage()).SetupQuestion(class'KFMainMenu'.default.UnknownSteamErrorText, QBTN_Ok, QBTN_Ok);
|
|
}
|
|
|
|
return false;
|
|
}
|
|
else if ( !PC.SteamStatsAndAchievements.bInitialized )
|
|
{
|
|
PC.SteamStatsAndAchievements.OnDataInitialized = OnSteamStatsAndAchievementsReady;
|
|
PC.SteamStatsAndAchievements.GetStatsAndAchievements();
|
|
return false;
|
|
}
|
|
|
|
for ( i = 0; i < class'KFGameType'.default.LoadedSkills.Length; i++ )
|
|
{
|
|
if ( KFSteamStatsAndAchievements(PC.SteamStatsAndAchievements).GetPerkProgress(i) < 0.0 )
|
|
{
|
|
Controller.OpenMenu(Controller.QuestionMenuClass);
|
|
GUIQuestionPage(Controller.TopPage()).SetupQuestion(class'KFMainMenu'.default.UnknownSteamErrorText, QBTN_Ok, QBTN_Ok);
|
|
PC.SteamStatsAndAchievements.OnDataInitialized = OnSteamStatsAndAchievementsReady;
|
|
PC.SteamStatsAndAchievements.GetStatsAndAchievements();
|
|
return false;
|
|
}
|
|
}
|
|
|
|
PC.ClientOpenMenu("KFGUI.KFProfilePage", false);
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
|
|
defaultproperties{} |