RegisterAccountScreen.as 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. import flash.display.BitmapData;
  2. import flash.external.*;
  3. import gfx.controls.TextInput;
  4. import gfx.controls.Button;
  5. import gfx.controls.CheckBox;
  6. import gfx.data.dataProvider;
  7. import gfx.controls.DropdownMenu;
  8. //Personal Infomation
  9. class Screens.RegisterAccountScreen extends Screen
  10. {
  11. private var firstName:TextInput;
  12. private var middleName:TextInput;
  13. private var lastName:TextInput;
  14. private var homeAddress1:TextInput;
  15. private var homeAddress2:TextInput;
  16. private var homeCity:TextInput;
  17. private var homeState:DropdownMenu;
  18. private var homeZipCode:TextInput;
  19. private var emailAddress:TextInput;
  20. private var birthMonth:DropdownMenu;
  21. private var birthDay:DropdownMenu;
  22. private var birthYear:DropdownMenu;
  23. private var race:DropdownMenu;
  24. private var homeCountry:DropdownMenu;
  25. private var sex_male:CheckBox;
  26. private var sex_female:CheckBox;
  27. public static var Months:Array = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ];
  28. public static var MonthDays:Array = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; //each element is number of days for that month
  29. /*private var countryList:Array = ["Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda",
  30. "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Azores", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus",
  31. "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia And Herzegowina", "Bosnia-Herzegovina", "Botswana", "Bouvet Island", "Brazil",
  32. "British Indian Ocean Territory", "British Virgin Islands", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon",
  33. "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands",
  34. "Colombia", "Comoros", "Congo", "Congo, The Democratic Republic O", "Cook Islands", "Corsica", "Costa Rica", "Cote d` Ivoire (Ivory Coast)", "Croatia",
  35. "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador",
  36. "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands (Malvinas)", "Faroe Islands", "Fiji", "Finland", "France (Includes Monaco)",
  37. "France, Metropolitan", "French Guiana", "French Polynesia", "French Polynesia (Tahiti)", "French Southern Territories", "Gabon", "Gambia", "Georgia",
  38. "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti",
  39. "Heard And Mc Donald Islands", "Holy See (Vatican City State)", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq",
  40. "Ireland", "Ireland (Eire)", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea, Democratic People''s Repub",
  41. "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macao", "Macedonia",
  42. "Madagascar", "Madeira Islands", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte",
  43. "Mexico", "Micronesia, Federated States Of", "Moldova, Republic Of", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar (Burma)",
  44. "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue",
  45. "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Palestinian Territory, Occupied", "Panama", "Papua New Guinea",
  46. "Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romania", "Russian Federation", "Rwanda",
  47. "Saint Kitts And Nevis", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia-Montenegro", "Seychelles", "Sierra Leone", "Singapore",
  48. "Slovak Republic", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia And The South Sand", "South Korea", "Spain", "Sri Lanka",
  49. "St. Christopher and Nevis", "St. Helena", "St. Lucia", "St. Pierre and Miquelon", "St. Vincent and the Grenadines", "Sudan", "Suriname",
  50. "Svalbard And Jan Mayen Islands", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic", "Taiwan", "Tajikistan", "Tanzania", "Thailand",
  51. "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tristan da Cunha", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu",
  52. "Uganda", "Ukraine", "Unid Arab Emirates", "United Kingdom", "United States", "United States Minor Outlying Isl", "Uruguay", "Uzbekistan",
  53. "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Virgin Islands (U.S.)", "Wallis and Furuna Islands", "Western Sahara",
  54. "Western Samoa", "Yemen", "Yugoslavia", "Zaire", "Zambia", "Zimbabwe", "Great Britain"];*/
  55. public static var stateList:Array = ["Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida",
  56. "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland",
  57. "Massachusetts", "Michigan", "Minnesota", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire",
  58. "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon",
  59. "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont",
  60. "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming" ]
  61. private var cancelButton:Button;
  62. private var nextButton:Button;
  63. public function RegisterAccountScreen()
  64. {
  65. ConsoleWindow.Trace("Constructing RegisterAccountScreen");
  66. mScreenId = ScreenID.REGISTER_ACCOUNT_PERSONAL;
  67. mScreenTabId = ScreenTab.ID_REGISTRATION;
  68. }
  69. public function VOnFinishedLoading():Void
  70. {
  71. birthMonth.dataProvider = Months;
  72. //homeCountry.dataProvider = countryList;
  73. homeState.dataProvider = stateList;
  74. race.dataProvider = ["CAUSCASIAN", "AFRCAN AMERICAN", "NATIVE AMERICAN", "HISPANIC", "ASIAN", "PACIFIC ISLANDS", "UNSPECIFIED"];
  75. var year:Array = new Array();
  76. for ( var i = 2009; i > 1930; i-- )
  77. {
  78. year.push( i );
  79. }
  80. birthYear.dataProvider = year;
  81. OnMonthChange();
  82. //Add click event for buttons
  83. cancelButton.addEventListener("click", this, "Cancel");
  84. nextButton.addEventListener("click", this, "Next");
  85. birthMonth.addEventListener("change", this, "OnMonthChange");
  86. sex_male.addEventListener("select", this, "OnSelectMale");
  87. sex_female.addEventListener("select", this, "OnSelectFemale");
  88. super.VOnFinishedLoading();
  89. }
  90. public function OnShow():Void
  91. {
  92. if ( LobbyInterface.Instance.IsLoggedIn() )
  93. {
  94. gotoAndStop("Update");
  95. PopulateFromAccountInfo();
  96. }
  97. else
  98. {
  99. gotoAndStop("New");
  100. }
  101. //homeState.dataProvider = ["causcasian", "afrcan american", "native american", "hispanic", "asian", "pacific islands", "unspecified"];//; stateList;
  102. }
  103. public function Next():Void
  104. {
  105. ConsoleWindow.Trace(" month = " + GetSelectedMonth() + ", day = " + GetSelectedDate() + ", year = " + GetSelectedYear() );
  106. ConsoleWindow.Trace("Age in days = " + GetAgeInDays());
  107. if ( LobbyInterface.Instance.IsLoggedIn() )
  108. {
  109. SaveToAccountInfo();
  110. }
  111. LobbyInterface.Instance.ShowScreen( ScreenID.REGISTER_ACCOUNT_BILLING );
  112. }
  113. public function Cancel():Void
  114. {
  115. if ( LobbyInterface.Instance.IsLoggedIn() )
  116. {
  117. LobbyInterface.Instance.ShowScreen( ScreenID.PROFILE );
  118. //user cancel editing profile info, let's reset it by re-getting it from server
  119. AccountInfo.Instance.GetAccountInfoFromServer();
  120. }
  121. else
  122. {
  123. LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
  124. }
  125. }
  126. public function OnMonthChange(event:Object):Void
  127. {
  128. RepopulateBirthDayList( birthMonth.selectedIndex + 1 );
  129. }
  130. public function RepopulateBirthDayList( month:Number ):Void
  131. {
  132. var length = MonthDays[month - 1];
  133. var days:Array = new Array();
  134. for ( var i = 1; i <= length; i++ )
  135. {
  136. days.push( string(i) );
  137. }
  138. birthDay.dataProvider = days;
  139. }
  140. public function OnSelectMale():Void
  141. {
  142. sex_female.selected = !sex_male.selected;
  143. }
  144. public function OnSelectFemale():Void
  145. {
  146. sex_male.selected = !sex_female.selected;
  147. }
  148. public function GetStateList():Array
  149. {
  150. return stateList;
  151. }
  152. public function GetStreetAddress():String
  153. {
  154. return homeAddress1.text;
  155. }
  156. public function GetStreetAddress2():String
  157. {
  158. return homeAddress2.text;
  159. }
  160. public function GetCity():String
  161. {
  162. return homeCity.text;
  163. }
  164. public function GetState():Number
  165. {
  166. return homeState.selectedIndex;
  167. }
  168. public function GetZipCode():String
  169. {
  170. return homeZipCode.text;
  171. }
  172. public function GetFirstName():String
  173. {
  174. return firstName.text;
  175. }
  176. public function GetMiddleInitial():String
  177. {
  178. return middleName.text;
  179. }
  180. public function GetLastName():String
  181. {
  182. return lastName.text;
  183. }
  184. public function GetSelectedRace():String
  185. {
  186. return race.dataProvider[race.selectedIndex];
  187. }
  188. public function GetIsMale():Boolean
  189. {
  190. return sex_male.selected;
  191. }
  192. public function GetSelectedState():String
  193. {
  194. return homeState.dataProvider[homeState.selectedIndex];
  195. }
  196. public function GetEmail():String
  197. {
  198. return emailAddress.text;
  199. }
  200. public function GetSelectedMonth():Number
  201. {
  202. return birthMonth.dataProvider[birthMonth.selectedIndex];
  203. }
  204. public function GetSelectedDate():Number
  205. {
  206. return birthDay.dataProvider[birthDay.selectedIndex];
  207. }
  208. public function GetSelectedYear():Number
  209. {
  210. return birthYear.dataProvider[birthYear.selectedIndex];
  211. }
  212. public function GetAgeInDays():Number
  213. {
  214. return AccountInfo.ConvertBirthdateToDays( GetSelectedMonth(), GetSelectedDate(), GetSelectedYear() );
  215. }
  216. private function PopulateFromAccountInfo():Void
  217. {
  218. firstName.text = AccountInfo.Instance.GetFirstName();
  219. middleName.text = AccountInfo.Instance.GetMiddleName();
  220. lastName.text = AccountInfo.Instance.GetLastName();
  221. //birthMonth.selectedIndex = AccountInfo.Instance.get
  222. emailAddress.text = AccountInfo.Instance.GetEmailAddress();
  223. sex_male.selected = AccountInfo.Instance.GetIsMale();
  224. sex_female.selected = !sex_male.selected;
  225. homeAddress1.text = AccountInfo.Instance.GetHomeAddress1();
  226. homeAddress2.text = AccountInfo.Instance.GetHomeAddress2();
  227. homeCity.text = AccountInfo.Instance.GetHomeCity();
  228. homeState.selectedIndex = GetIndexFromElement( AccountInfo.Instance.GetHomeState(), stateList );
  229. homeZipCode.text = AccountInfo.Instance.GetHomeZipCode();
  230. race.selectedIndex = GetIndexFromElement( AccountInfo.Instance.GetRace(), race.dataProvider );
  231. birthYear.selectedIndex = GetIndexFromElement( String(AccountInfo.Instance.GetBirthYear()), birthYear.dataProvider );
  232. birthMonth.selectedIndex = GetIndexFromElement( AccountInfo.Instance.GetBirthMonth(), birthMonth.dataProvider );
  233. birthDay.selectedIndex = GetIndexFromElement( AccountInfo.Instance.GetBirthDate(), birthDay.dataProvider );
  234. //AccountInfo.ConvertAgeDaysToBirthdate( 45 );
  235. }
  236. //temporary save, data will get wiped if user exits edit account
  237. private function SaveToAccountInfo():Void
  238. {
  239. AccountInfo.Instance.SetFirstName( firstName.text );
  240. AccountInfo.Instance.SetMiddleName( middleName.text );
  241. AccountInfo.Instance.SetLastName( lastName.text );
  242. AccountInfo.Instance.SetEmailAddress( emailAddress.text );
  243. AccountInfo.Instance.SetIsMale( sex_male.selected );
  244. AccountInfo.Instance.SetHomeAddress1( homeAddress1.text );
  245. AccountInfo.Instance.SetHomeAddress2( homeAddress2.text );
  246. AccountInfo.Instance.SetHomeCity( homeCity.text );
  247. AccountInfo.Instance.SetHomeState( GetSelectedState() );
  248. AccountInfo.Instance.SetHomeZipCode( homeZipCode.text );
  249. AccountInfo.Instance.SetRace( GetSelectedRace() );
  250. AccountInfo.Instance.SetAgeInDays( AccountInfo.ConvertBirthdateToDays( GetSelectedMonth(), GetSelectedDate(), GetSelectedYear() ) );
  251. }
  252. }
粤ICP备19079148号