RecoverPasswordScreen.as 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. import flash.external.*;
  2. import gfx.controls.TextInput;
  3. import gfx.controls.Button;
  4. class Screens.RecoverPasswordScreen extends Screen
  5. {
  6. private var userNameEdit:TextInput;
  7. private var recoverPasswordByUsername:Button;
  8. private var goBackToConnectedToServer:Button;
  9. private var bForgotPassword:Boolean;
  10. private var btnBack:Button;
  11. private var btnSendEmail:Button;
  12. private var btnSendUsername:Button;
  13. private var btnSendAnswer:Button;
  14. private static var mInstance:RecoverPasswordScreen;
  15. public function RecoverPasswordScreen()
  16. {
  17. ConsoleWindow.Trace("Constructing RecoverPasswordScreen");
  18. mScreenId = ScreenID.RECOVER_PASSWORD;
  19. mScreenTabId = ScreenTab.ID_LOGIN;
  20. mInstance = this;
  21. }
  22. public static function get Instance():RecoverPasswordScreen
  23. {
  24. return mInstance;
  25. }
  26. public function VOnFinishedLoading():Void
  27. {
  28. //Add click event for buttons
  29. goBackToConnectedToServer.addEventListener("click", this, "goBackToConnectedToServerFunc");
  30. btnBack.addEventListener("click", this, "Back");
  31. btnSendUsername.addEventListener("click", this, "f2c_RecoverPasswordByUsername");
  32. btnSendAnswer.addEventListener("click", this, "f2c_GetPasswordByPasswordRecoveryAnswer");
  33. //Add callbacks for C++
  34. ExternalInterface.addCallback("c2f_RecoverPasswordByUsername", this, c2f_RecoverPasswordByUsername);
  35. ExternalInterface.addCallback("c2f_GetPasswordByPasswordRecoveryAnswer", this, c2f_GetPasswordByPasswordRecoveryAnswer);
  36. super.VOnFinishedLoading();
  37. }
  38. public function SetMode( forgotPassword:Boolean ):Void
  39. {
  40. ConsoleWindow.Trace("SetMode..." + forgotPassword);
  41. bForgotPassword = forgotPassword;
  42. }
  43. public function OnShow():Void
  44. {
  45. if ( bForgotPassword )
  46. {
  47. btnSendEmail._visible = false;
  48. btnSendUsername._visible = true;
  49. btnSendAnswer._visible = false;
  50. gotoAndStop("Password1");
  51. }
  52. else
  53. {
  54. btnSendEmail._visible = true;
  55. btnSendUsername._visible = false;
  56. btnSendAnswer._visible = false;
  57. gotoAndStop("Username");
  58. }
  59. }
  60. //gets user recovery question
  61. private var mTempUsername:String;
  62. public function f2c_RecoverPasswordByUsername():Void
  63. {
  64. mTempUsername = this["tiUserName"].text;
  65. //ConsoleWindow.Trace("f2c_RecoverPasswordByUsername.... username = " + );
  66. ExternalInterface.call("f2c_RecoverPasswordByUsername", mTempUsername);
  67. }
  68. //try to get password by answering the secret question
  69. public function f2c_GetPasswordByPasswordRecoveryAnswer():Void
  70. {
  71. ConsoleWindow.Trace("calling f2c_GetPasswordByPasswordRecoveryAnswer.. answer = " + this["tiAnswer"].text);
  72. ExternalInterface.call("f2c_GetPasswordByPasswordRecoveryAnswer", mTempUsername, this["tiAnswer"].text);
  73. }
  74. public function goBackToConnectedToServerFunc():Void
  75. {
  76. //_root.gotoAndPlay("ConnectedToServer");
  77. LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
  78. }
  79. public function c2f_RecoverPasswordByUsername(resultIdentifier:String, username:String, email:String, secretQuestion:String ):Void
  80. {
  81. ConsoleWindow.Trace("c2f_RecoverPasswordByUsername..." + arguments);
  82. switch (resultIdentifier)
  83. {
  84. case "SUCCESS":
  85. gotoAndStop("Password2");
  86. btnSendEmail._visible = false;
  87. btnSendUsername._visible = false;
  88. btnSendAnswer._visible = true;
  89. this["tfSecretQuestion"].text = secretQuestion;
  90. break;
  91. }
  92. if ( resultIdentifier != "SUCCESS" )
  93. {
  94. LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
  95. }
  96. }
  97. public function c2f_GetPasswordByPasswordRecoveryAnswer(resultIdentifier:String, username:String, secretAnswer:String, password:String ):Void
  98. {
  99. ConsoleWindow.Trace("c2f_GetPasswordByPasswordRecoveryAnswer..." + arguments);
  100. switch (resultIdentifier)
  101. {
  102. case "SUCCESS":
  103. break;
  104. }
  105. if ( resultIdentifier != "SUCCESS" )
  106. {
  107. LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
  108. }
  109. }
  110. public function Back():Void
  111. {
  112. LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
  113. }
  114. }
粤ICP备19079148号