Prepare fixtures
This commit is contained in:
parent
797e5ea192
commit
9c94356263
6021 changed files with 722805 additions and 22 deletions
371
kf_sources/XVoting/Classes/MatchSetupLoginPanel.uc
Normal file
371
kf_sources/XVoting/Classes/MatchSetupLoginPanel.uc
Normal file
|
|
@ -0,0 +1,371 @@
|
|||
//==============================================================================
|
||||
// Created on: 01/02/2004
|
||||
// Login panel for Match Setup
|
||||
//
|
||||
// Written by Ron Prestenback
|
||||
// © 2003, Epic Games, Inc. All Rights Reserved
|
||||
//==============================================================================
|
||||
|
||||
class MatchSetupLoginPanel extends MatchSetupPanelBase
|
||||
config(LoginCache);
|
||||
|
||||
var() config bool bAutoLogin, bKeepHistory;
|
||||
var() config array<AutoLoginInfo> LoginHistory;
|
||||
|
||||
var() editconst noexport string CurrentIP, CurrentPort;
|
||||
|
||||
var automated GUILabel l_Title, l_Status;
|
||||
var automated moEditBox ed_LoginName;
|
||||
var automated moEditBox ed_LoginPassword;
|
||||
var automated GUIButton b_Submit, b_Cancel;
|
||||
|
||||
var() localized string NoUsernameSpecified, NoPasswordSpecified, InvalidLoginText, WaitingForLoginText,
|
||||
LoggedText, ButtonLoginText, ButtonLogoutText, PleaseWaitText;
|
||||
|
||||
function InitComponent( GUIController C, GUIComponent O )
|
||||
{
|
||||
local PlayerController PC;
|
||||
local string str;
|
||||
local int i;
|
||||
|
||||
Super.InitComponent(C, O);
|
||||
|
||||
PC = PlayerOwner();
|
||||
|
||||
ed_LoginPassword.MyEditBox.bConvertSpaces = True;
|
||||
str = PC.GetServerNetworkAddress();
|
||||
|
||||
if ( str != "" )
|
||||
{
|
||||
if ( !Divide(str, ":", CurrentIP, CurrentPort) )
|
||||
{
|
||||
CurrentIP = str;
|
||||
CurrentPort = "7777";
|
||||
}
|
||||
}
|
||||
|
||||
i = FindCredentials(CurrentIP, CurrentPort);
|
||||
if ( i != -1 )
|
||||
{
|
||||
ed_Loginname.SetText(LoginHistory[i].Username);
|
||||
ed_LoginPassword.SetText(LoginHistory[i].Password);
|
||||
|
||||
if ( LoginHistory[i].bAutoLogin )
|
||||
InternalOnClick(b_Submit);
|
||||
}
|
||||
else if ( PC.PlayerReplicationInfo != None )
|
||||
ed_LoginName.SetText(PC.PlayerReplicationInfo.PlayerName);
|
||||
}
|
||||
|
||||
function Opened(GUIComponent Sender)
|
||||
{
|
||||
Super.Opened(Sender);
|
||||
UpdateSubmitButton();
|
||||
}
|
||||
|
||||
function bool InternalOnClick(GUIComponent Sender)
|
||||
{
|
||||
local string uname, upass;
|
||||
|
||||
if ( VRI == None )
|
||||
return true;
|
||||
|
||||
if ( Sender == b_Submit )
|
||||
{
|
||||
if ( b_Submit.Caption == ButtonLoginText )
|
||||
{
|
||||
uname = ed_LoginName.GetText();
|
||||
upass = ed_LoginPassword.GetText();
|
||||
|
||||
if ( uname == "" )
|
||||
{
|
||||
SetFocus(ed_LoginName);
|
||||
UpdateStatus(NoUsernameSpecified);
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( upass == "" )
|
||||
{
|
||||
SetFocus(ed_LoginPassword);
|
||||
UpdateStatus(NoPasswordSpecified);
|
||||
return true;
|
||||
}
|
||||
|
||||
SendLogin(uname,upass);
|
||||
}
|
||||
|
||||
else if ( b_Submit.Caption == ButtonLogoutText )
|
||||
{
|
||||
SendLogout();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( Sender == b_Cancel )
|
||||
{
|
||||
Controller.CloseMenu(false);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function bool UserNameKeyEvent( out byte Key, out byte State, float Delta )
|
||||
{
|
||||
if ( State == 3 && (Key == 0x0D || Key == 0x28) ) // enter or down
|
||||
{
|
||||
ed_LoginPassword.SetFocus(none);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function bool PasswordKeyEvent( out byte Key, out byte State, float Delta )
|
||||
{
|
||||
if ( State == 3 )
|
||||
{
|
||||
if ( Key == 0x0D ) // enter
|
||||
return InternalOnClick(b_Submit);
|
||||
|
||||
else if ( Key == 0x26 ) // up
|
||||
{
|
||||
ed_LoginName.SetFocus(none);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function UpdateStatus(string NewStatusMsg )
|
||||
{
|
||||
l_Status.Caption = NewStatusMsg;
|
||||
UpdateSubmitButton();
|
||||
}
|
||||
|
||||
protected function int FindCredentials( coerce string IP, coerce string Port )
|
||||
{
|
||||
local int i;
|
||||
|
||||
for ( i = 0; i < LoginHistory.Length; i++ )
|
||||
if ( LoginHistory[i].IP == IP && LoginHistory[i].Port == Port )
|
||||
return i;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
protected function SaveCredentials()
|
||||
{
|
||||
local AutoLoginInfo NewInfo;
|
||||
local int i;
|
||||
|
||||
if ( !bKeepHistory )
|
||||
return;
|
||||
|
||||
NewInfo.UserName = ed_LoginName.GetText();
|
||||
NewInfo.Password = ed_LoginPassword.GetText();
|
||||
if ( NewInfo.Password == "" )
|
||||
return;
|
||||
|
||||
NewInfo.IP = CurrentIP;
|
||||
NewInfo.Port = CurrentPort;
|
||||
|
||||
i = FindCredentials(NewInfo.IP, NewInfo.Port);
|
||||
if ( i == -1 )
|
||||
i = LoginHistory.Length;
|
||||
|
||||
LoginHistory[i] = NewInfo;
|
||||
SaveConfig();
|
||||
}
|
||||
|
||||
function UpdateSubmitButton()
|
||||
{
|
||||
switch( l_Status.Caption )
|
||||
{
|
||||
case WaitingForLoginText:
|
||||
b_Submit.Caption = ButtonLogoutText;
|
||||
DisableComponent(b_Submit);
|
||||
break;
|
||||
|
||||
case LoggedText:
|
||||
b_Submit.Caption = ButtonLogoutText;
|
||||
EnableComponent(b_Submit);
|
||||
break;
|
||||
|
||||
case LoggedText @ PleaseWaitText:
|
||||
b_Submit.Caption = ButtonLogoutText;
|
||||
DisableComponent(b_Submit);
|
||||
break;
|
||||
|
||||
default:
|
||||
EnableComponent(b_Submit);
|
||||
b_Submit.Caption = ButtonLoginText;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function SendLogin( string UserName, string Password )
|
||||
{
|
||||
DisableComponent(ed_LoginName);
|
||||
DisableComponent(ed_LoginPassword);
|
||||
EnableComponent(b_Cancel);
|
||||
|
||||
UpdateStatus(WaitingForLoginText);
|
||||
VRI.MatchSetupLogin(UserName, Password);
|
||||
}
|
||||
|
||||
function SendLogout();
|
||||
|
||||
function LoggedIn()
|
||||
{
|
||||
Super.LoggedIn();
|
||||
DisableComponent(b_Cancel);
|
||||
|
||||
UpdateStatus(LoggedText @ PleaseWaitText);
|
||||
SaveCredentials();
|
||||
VRI.RequestMatchSettings(True,True);
|
||||
}
|
||||
|
||||
function LoggedOut()
|
||||
{
|
||||
Super.LoggedOut();
|
||||
EnableComponent(b_Submit);
|
||||
EnableComponent(ed_LoginName);
|
||||
EnableComponent(ed_LoginPassword);
|
||||
|
||||
UpdateStatus("");
|
||||
}
|
||||
|
||||
function LoginFailed()
|
||||
{
|
||||
EnableComponent(b_Submit);
|
||||
EnableComponent(ed_LoginName);
|
||||
EnableComponent(ed_LoginPassword);
|
||||
|
||||
DisableComponent(b_Cancel);
|
||||
UpdateStatus(InvalidLoginText);
|
||||
SetFocus(ed_LoginPassword);
|
||||
}
|
||||
|
||||
function ReceiveComplete()
|
||||
{
|
||||
Super.ReceiveComplete();
|
||||
UpdateStatus(LoggedText);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
PanelCaption="Login"
|
||||
OnLogIn=LoggedIn
|
||||
OnLogout=LoggedOut
|
||||
|
||||
WaitingForLoginText="Please wait while your login credentials are verified..."
|
||||
NoUsernameSpecified="In order to login to match setup, you must supply a username."
|
||||
NoPasswordSpecified="In order to login to match setup, you must supply a password."
|
||||
InvalidLoginText="Login attempt failed - invalid username or password."
|
||||
LoggedText="Successfully logged into match setup!"
|
||||
PleaseWaitText="Complete data transfer will take a few seconds..."
|
||||
|
||||
ButtonLoginText="Login"
|
||||
ButtonLogoutText="Logout"
|
||||
|
||||
Begin Object class=GUILabel Name=TitleLabel
|
||||
WinWidth=0.521077
|
||||
WinHeight=0.152803
|
||||
WinLeft=0.244935
|
||||
WinTop=0.012808
|
||||
Caption="Match Setup Login"
|
||||
TextAlign=TXTA_Center
|
||||
RenderWeight=1
|
||||
StyleName="TextLabel"
|
||||
FontScale=FNS_Large
|
||||
bBoundToParent=True
|
||||
bScaleToParent=True
|
||||
End Object
|
||||
// l_Title=TitleLabel
|
||||
|
||||
Begin Object class=GUILabel Name=StatusLabel
|
||||
TextAlign=TXTA_Center
|
||||
bMultiLine=True
|
||||
VertAlign=TXTA_Center
|
||||
FontScale=FNS_Large
|
||||
StyleName="TextLabel"
|
||||
WinTop=0.571450
|
||||
WinLeft=0.167765
|
||||
WinWidth=0.670595
|
||||
WinHeight=0.413253
|
||||
RenderWeight=1.000000
|
||||
bBoundToParent=True
|
||||
bScaleToParent=True
|
||||
End Object
|
||||
l_Status=StatusLabel
|
||||
|
||||
Begin Object class=moEditBox Name=UserIDEditBox
|
||||
WinWidth=0.659385
|
||||
WinHeight=0.081981
|
||||
WinLeft=0.174240
|
||||
WinTop=0.209260
|
||||
Caption="UserID"
|
||||
TabOrder=1
|
||||
CaptionWidth=0.1
|
||||
OnKeyEvent=UserNameKeyEvent
|
||||
bBoundToParent=True
|
||||
bScaleToParent=True
|
||||
End Object
|
||||
ed_LoginName=UserIDEditBox
|
||||
|
||||
Begin Object class=moEditBox Name=PasswordEditBox
|
||||
WinWidth=0.659385
|
||||
WinHeight=0.081981
|
||||
WinLeft=0.174240
|
||||
WinTop=0.326729
|
||||
Caption="Password"
|
||||
TabOrder=2
|
||||
CaptionWidth=0.1
|
||||
OnKeyEvent=PasswordKeyEvent
|
||||
bBoundToParent=True
|
||||
bScaleToParent=True
|
||||
bMaskText=True
|
||||
End Object
|
||||
ed_LoginPassword=PasswordEditBox
|
||||
|
||||
Begin Object class=GUIButton Name=LoginButton
|
||||
Caption="Login"
|
||||
WinWidth=0.137685
|
||||
WinHeight=0.070180
|
||||
WinLeft=0.680482
|
||||
WinTop=0.477284
|
||||
OnClick=InternalOnClick
|
||||
TabOrder=3
|
||||
RenderWeight=1.0
|
||||
bBoundToParent=True
|
||||
bScaleToParent=True
|
||||
End Object
|
||||
b_Submit=LoginButton
|
||||
|
||||
Begin Object class=GUIButton Name=CancelButton
|
||||
Caption="Cancel"
|
||||
WinWidth=0.139293
|
||||
WinHeight=0.076611
|
||||
WinLeft=0.513741
|
||||
WinTop=0.474198
|
||||
OnClick=InternalOnClick
|
||||
TabOrder=4
|
||||
RenderWeight=1.0
|
||||
bBoundToParent=True
|
||||
bScaleToParent=True
|
||||
End Object
|
||||
b_Cancel=CancelButton
|
||||
|
||||
WinTop=0.248697
|
||||
WinHeight=0.352864
|
||||
WinWidth=1.0
|
||||
WinLeft=0.0
|
||||
|
||||
bKeepHistory=True
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue