89 lines
2.7 KiB
ActionScript
89 lines
2.7 KiB
ActionScript
import flash.external.*;
|
|
import gfx.controls.TextInput;
|
|
import gfx.controls.Button;
|
|
|
|
class Screens.EnterCDKeyScreen extends Screen
|
|
{
|
|
private var enterCdKeyOKButton:Button;
|
|
private var cancelButton:Button;
|
|
private var cdKeyEditBox:TextInput;
|
|
private var tfFailedMsg:TextField;
|
|
|
|
public function EnterCDKeyScreen()
|
|
{
|
|
ConsoleWindow.Trace("Constructing EnterCDKeyScreen");
|
|
|
|
mScreenId = ScreenID.ENTER_CD_KEY;
|
|
mScreenTabId = ScreenTab.ID_CD_KEY;
|
|
tfFailedMsg._visible = false;
|
|
}
|
|
|
|
public function VOnFinishedLoading():Void
|
|
{
|
|
//Add click event for buttons
|
|
enterCdKeyOKButton.addEventListener("click", this, "f2c_CheckCDKey");
|
|
cancelButton.addEventListener("click", this, "Cancel");
|
|
|
|
//Add callbacks for C++
|
|
ExternalInterface.addCallback("c2f_CheckCDKeyResult", this, c2f_CheckCDKeyResult);
|
|
|
|
super.VOnFinishedLoading();
|
|
}
|
|
|
|
public function f2c_CheckCDKey():Void
|
|
{
|
|
tfFailedMsg._visible = false;
|
|
ConsoleWindow.Trace("cdKeyEditBox.text = " + cdKeyEditBox.text);
|
|
ExternalInterface.call("f2c_CheckCDKey", cdKeyEditBox.text);
|
|
}
|
|
|
|
public function Cancel():Void
|
|
{
|
|
ConsoleWindow.Trace("EnterCDKeyScreen calling login screen");
|
|
LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
|
|
}
|
|
|
|
public function c2f_CheckCDKeyResult(reasonIdentifier:String, userUsedBy:String, activationDate:String, wasStolen:Boolean, usable:Boolean):Void
|
|
{
|
|
switch (reasonIdentifier)
|
|
{
|
|
case "SUCCESS":
|
|
if (usable==true)
|
|
{
|
|
// if usable==true, we're ok
|
|
ConsoleWindow.Trace("RegisterAccount?");
|
|
//_root.gotoAndPlay("RegisterAccount");
|
|
LobbyInterface.Instance.ShowScreen( ScreenID.REGISTER_ACCOUNT_PERSONAL );
|
|
}
|
|
else if (wasStolen==true)
|
|
{
|
|
ConsoleWindow.Trace("account stolen?");
|
|
// If wasStolen==true, this cd key was stolen. Display appropriate error message and ask user to reenter
|
|
}
|
|
else
|
|
{
|
|
ConsoleWindow.Trace("cd key already in used");
|
|
// CD key already used. Display appropriate error message and ask user to reenter
|
|
}
|
|
break;
|
|
case "CDKey_GetStatus_TITLE_NOT_IN_USE":
|
|
// Internal error, just display bad title
|
|
break;
|
|
case "CDKey_GetStatus_UNKNOWN_CD_KEY":
|
|
tfFailedMsg.text = "Unknown CD KEY";
|
|
//tfFailedMsg._visible = true;
|
|
// Most common case, CD key was mistyped. Display appropriate error message and ask user to reenter
|
|
break;
|
|
case "REQUIRED_TEXT_IS_EMPTY":
|
|
tfFailedMsg.text = "PLEASE ENTER CD KEY";
|
|
//tfFailedMsg._visible = true;
|
|
// Field was blank
|
|
break;
|
|
}
|
|
|
|
if ( reasonIdentifier != "SUCCESS" )
|
|
{
|
|
LobbyInterface.Instance.CreateMessageBox( reasonIdentifier );
|
|
}
|
|
}
|
|
} |