AccountInfo.as 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. import flash.filters.GradientGlowFilter;
  2. import flash.external.*;
  3. import Screens.ProfileScreen;
  4. import Screens.RegisterAccountScreen;
  5. class AccountInfo
  6. {
  7. private var mFirstName:String;
  8. private var mMiddleName:String;
  9. private var mLastName:String;
  10. private var mHomeAddress1:String;
  11. private var mHomeAddress2:String;
  12. private var mHomeCity:String;
  13. private var mHomeState:String;
  14. private var mHomeZipCode:String;
  15. private var mBillingAddress1:String;
  16. private var mBillingAddress2:String;
  17. private var mBillingCity:String;
  18. private var mBillingState:String;
  19. private var mBillingZipCode:String;
  20. private var mEmailAddress:String;
  21. private var mPassword:String;
  22. private var mPasswordRecoveryQuestion:String;
  23. private var mPasswordRecoveryAnswer:String;
  24. //private var caption1:TextInput;
  25. //private var caption2:TextInput;
  26. //private var ageInDays:TextInput;
  27. private var mUserName:String;
  28. private var mRace:String;
  29. private var mHomeCountry:String;
  30. private var mBillingCountry:String;
  31. private var mIsMale:Boolean;
  32. private var mAgeInDays:Number;
  33. private var mBirthYear:Number;
  34. private var mBirthMonth:Number;
  35. private var mBirthDate:Number;
  36. private var mAboutMe:String;
  37. private var mActivities:String;
  38. private var mInterests:String;
  39. private var mFavoriteGames:String;
  40. private var mFavoriteMovies:String;
  41. private var mFavoriteBooks:String;
  42. private var mFavoriteQuotes:String;
  43. private static var mInstance:AccountInfo;
  44. public function AccountInfo()
  45. {
  46. mInstance = this;
  47. }
  48. public static function get Instance():AccountInfo
  49. {
  50. return mInstance;
  51. }
  52. public function GetAccountInfoFromServer():Void
  53. {
  54. ConsoleWindow.Trace("AccountInfo.GetAccountInfoFromServer");
  55. // Do not change the order the parameters are passed in as
  56. ExternalInterface.call("f2c_GetAccountDetails");
  57. }
  58. public function ServerSetAccountInfo( resultIdentifier:String, firstNameParam:String, middleNameParam:String, lastNameParam:String, raceParam:String,
  59. sex_maleParam:Boolean, homeAddress1Param:String, homeAddress2Param:String, homeCityParam:String, homeStateParam:String,
  60. homeCountryParam:String, homeZipCodeParam:String, billingAddress1Param:String, billingAddress2Param:String,
  61. billingCityParam:String, billingStateParam:String, billingCountryParam:String, billingZipCodeParam:String,
  62. emailAddressParam:String, passwordParam:String, passwordRecoveryQuestionParam:String, passwordRecoveryAnswerParam:String,
  63. caption1Param:String, caption2Param:String, ageInDaysParam:Number, aboutMe:String, activities:String , interests:String,
  64. favGames:String , favMovies:String, favBooks:String, favQuotes:String ):Void
  65. {
  66. ConsoleWindow.Trace( "AccountInfo.ServerSetAccountInfo()... " + resultIdentifier );
  67. switch (resultIdentifier)
  68. {
  69. case "SUCCESS":
  70. {
  71. mFirstName = firstNameParam;
  72. mMiddleName = middleNameParam;
  73. mLastName = lastNameParam;
  74. mRace = raceParam;
  75. mIsMale = sex_maleParam;
  76. mHomeAddress1 = homeAddress1Param;
  77. mHomeAddress2 = homeAddress2Param;
  78. mHomeCity = homeCityParam;
  79. mHomeState = homeStateParam;
  80. mHomeCountry = homeCountryParam;
  81. mHomeZipCode = homeZipCodeParam;
  82. mBillingAddress1 = billingAddress1Param;
  83. mBillingAddress2 = billingAddress2Param;
  84. mBillingCity = billingCityParam;
  85. mBillingState = billingStateParam;
  86. mBillingCountry = billingCountryParam;
  87. mBillingZipCode = billingZipCodeParam;
  88. mEmailAddress = emailAddressParam;
  89. mPassword = passwordParam;
  90. mPasswordRecoveryQuestion = passwordRecoveryQuestionParam;
  91. mPasswordRecoveryAnswer = passwordRecoveryAnswerParam;
  92. //caption1.text = caption1Param;
  93. //caption2.text = caption2Param;
  94. mAgeInDays = ageInDaysParam;
  95. var object:Object = { };
  96. ConvertAgeDaysToBirthdate( mAgeInDays, object );
  97. mBirthYear = object.year;
  98. mBirthMonth = object.month;
  99. mBirthDate = object.date;
  100. mUserName = LobbyInterface.Instance.GetUsername();
  101. mAboutMe = aboutMe;
  102. mActivities = activities;
  103. mInterests = interests;
  104. mFavoriteGames = favGames;
  105. mFavoriteBooks = favBooks;
  106. mFavoriteMovies = favMovies;
  107. mFavoriteQuotes = favQuotes;
  108. /* ConsoleWindow.Trace("Home state = " + mHomeState);
  109. ConsoleWindow.Trace("Race = " + mRace);
  110. ConsoleWindow.Trace("mBirthYear = " + mBirthYear);
  111. ConsoleWindow.Trace("mBirthMonth = " + mBirthMonth);
  112. ConsoleWindow.Trace("mBirthDate = " + mBirthDate);
  113. ConsoleWindow.Trace("mAgeInDays = " + mAgeInDays);
  114. ConsoleWindow.Trace("aboutMe = " + aboutMe);
  115. ConsoleWindow.Trace("activities = " + activities);
  116. ConsoleWindow.Trace("interests = " + interests);
  117. ConsoleWindow.Trace("favGames = " + favGames);
  118. ConsoleWindow.Trace("favMovies = " + favMovies);
  119. ConsoleWindow.Trace("favBooks = " + favBooks);
  120. ConsoleWindow.Trace("favQuotes = " + favQuotes);*/
  121. ProfileScreen.Instance.OnReceivedPlayerInfo();
  122. break;
  123. }
  124. case "DATABASE_CONSTRAINT_FAILURE":
  125. //ConsoleWindow.Trace( "Can't find the logged in user in the database for some reason" );
  126. LobbyInterface.Instance.CreateMessageBox(resultIdentifier);
  127. break;
  128. }
  129. }
  130. public function GetFirstName():String { return mFirstName; }
  131. public function GetMiddleName():String { return mMiddleName; }
  132. public function GetLastName():String { return mLastName; }
  133. public function GetRace():String { return mRace; }
  134. public function GetIsMale():Boolean { return mIsMale; }
  135. public function GetHomeAddress1():String { return mHomeAddress1; }
  136. public function GetHomeAddress2():String { return mHomeAddress2; }
  137. public function GetHomeCity():String { return mHomeCity; }
  138. public function GetHomeState():String { return mHomeState; }
  139. public function GetHomeCountry():String { return mHomeCountry; }
  140. public function GetHomeZipCode():String { return mHomeZipCode; }
  141. public function GetBillingAddress1():String { return mBillingAddress1; }
  142. public function GetBillingAddress2():String { return mBillingAddress2; }
  143. public function GetBillingCity():String { return mBillingCity; }
  144. public function GetBillingState():String { return mBillingState; }
  145. public function GetBillingCountry():String { return mBillingCountry; }
  146. public function GetBillingZipCode():String { return mBillingZipCode; }
  147. public function GetEmailAddress():String { return mEmailAddress; }
  148. public function GetPassword():String { return mPassword; }
  149. public function GetPasswordRecoveryQuestion():String { return mPasswordRecoveryQuestion; }
  150. public function GetPasswordRecoveryAnswer():String { return mPasswordRecoveryAnswer; }
  151. public function GetAgeInDays():Number { return mAgeInDays; }
  152. public function GetBirthYear():Number { return mBirthYear; }
  153. public function GetBirthMonth():Number { return mBirthMonth; }
  154. public function GetBirthDate():Number { return mBirthDate; }
  155. public function GetUserName():String { return mUserName; }
  156. public function GetAboutMe():String { return mAboutMe; }
  157. public function GetActivities():String { return mActivities; }
  158. public function GetInterests():String { return mInterests; }
  159. public function GetFavoriteGames():String { return mFavoriteGames; }
  160. public function GetFavoriteBooks():String { return mFavoriteBooks; }
  161. public function GetFavoriteMovies():String { return mFavoriteMovies; }
  162. public function GetFavoriteQuotes():String { return mFavoriteQuotes; }
  163. public function SetFirstName( firstName:String ):Void { mFirstName = firstName; }
  164. public function SetMiddleName( middleName:String ):Void { mMiddleName = middleName; }
  165. public function SetLastName( lastName:String ):Void { mLastName = lastName; }
  166. public function SetRace( race:String ):Void { mRace = race; }
  167. public function SetIsMale( isMale:Boolean ):Void { mIsMale = isMale; }
  168. public function SetHomeAddress1( homeAddress1:String):Void { mHomeAddress1 = homeAddress1; }
  169. public function SetHomeAddress2( homeAddress2:String):Void { mHomeAddress2 = homeAddress2; }
  170. public function SetHomeCity( homeCity:String):Void { mHomeCity = homeCity; }
  171. public function SetHomeState( homeState:String):Void { mHomeState = homeState; }
  172. public function SetHomeCountry( homeCountry:String):Void { mHomeCountry = homeCountry; }
  173. public function SetHomeZipCode( homeZipeCode:String):Void { mHomeZipCode = homeZipeCode; }
  174. public function SetBillingAddress1( billingAddress1:String):Void { mBillingAddress1 = billingAddress1; }
  175. public function SetBillingAddress2( billingAddress2:String):Void { mBillingAddress2 = billingAddress2; }
  176. public function SetBillingCity( billingCity:String):Void { mBillingCity = billingCity; }
  177. public function SetBillingState( billingState:String):Void { mBillingState = billingState; }
  178. public function SetBillingCountry( billingCountry:String):Void { mBillingCountry = billingCountry; }
  179. public function SetBillingZipCode( billingZipCode:String):Void { mBillingZipCode = billingZipCode; }
  180. public function SetEmailAddress( billingEmail:String):Void { mEmailAddress = billingEmail; }
  181. public function SetPassword( password:String):Void { mPassword = password; }
  182. public function SetPasswordRecoveryQuestion( passwordQuestion:String):Void { mPasswordRecoveryQuestion = passwordQuestion; }
  183. public function SetPasswordRecoveryAnswer( passwordAnswer:String):Void { mPasswordRecoveryAnswer = passwordAnswer; }
  184. public function SetAgeInDays( ageInDays:Number ):Void { mAgeInDays = ageInDays; }
  185. public function SetBirthYear( birthYear:Number ):Void { mBirthYear = birthYear; }
  186. public function SetBirthMonth( birthMonth:Number ):Void { mBirthMonth = birthMonth; }
  187. public function SetBirthDate( birthDate:Number ):Void { mBirthDate = birthDate; }
  188. public function SetUserName( username:String ):Void { mUserName = username; }
  189. public function SetAboutMe( aboutMe:String ):Void { mAboutMe = aboutMe; }
  190. public function SetActivities( activities:String ):Void { mActivities = activities; }
  191. public function SetInterests( interests:String ):Void { mInterests = interests; }
  192. public function SetFavoriteGames( games:String ):Void { mFavoriteGames = games; }
  193. public function SetFavoriteBooks( books:String ):Void { mFavoriteBooks = books; }
  194. public function SetFavoriteMovies( movies:String ):Void { mFavoriteMovies = movies; }
  195. public function SetFavoriteQuotes( quotes:String ):Void { mFavoriteQuotes = quotes; }
  196. public static function ConvertBirthdateToDays( month:Number, date:Number, year:Number ):Number
  197. {
  198. var ageInDays:Number = 0;
  199. month -= 1; //jan = 0, feb = 1....
  200. var curDate:Date = new Date();
  201. var curMonth:Number = curDate.getMonth();
  202. ageInDays = (curDate.getFullYear() - year) * 365;
  203. if( month > curMonth )
  204. {
  205. ageInDays -= 365;
  206. }
  207. for ( var i:Number = 0; i < 12; i++ )
  208. {
  209. if ( month != curMonth )
  210. {
  211. ageInDays += RegisterAccountScreen.MonthDays[month];
  212. month = ( month + 1 ) % 12;
  213. }
  214. else
  215. {
  216. ageInDays += curDate.getDate() - date;
  217. break;
  218. }
  219. }
  220. return ageInDays;
  221. }
  222. public static function ConvertAgeDaysToBirthdate( ageInDays:Number, object:Object ):Void
  223. {
  224. //ConsoleWindow.Trace("ConsoleWindow.Trace(), ageInDays = " + ageInDays);
  225. var curDate:Date = new Date();
  226. var yearFromNow:Number = Math.floor(ageInDays / 365);
  227. ageInDays = ageInDays % 365;
  228. var month:Number = curDate.getMonth();
  229. var date:Number = curDate.getDate();
  230. for ( var i:Number = 0; i < 12; i++ )
  231. {
  232. trace("Age in days = " + ageInDays);
  233. if( ageInDays >= date )
  234. {
  235. month--;
  236. if( month < 0 )
  237. {
  238. month = 11;
  239. yearFromNow++;
  240. }
  241. ageInDays -= RegisterAccountScreen.MonthDays[month];
  242. }
  243. else
  244. {
  245. date = date - ageInDays;
  246. break;
  247. }
  248. }
  249. object.year = curDate.getFullYear() - yearFromNow;
  250. object.month = month + 1;
  251. object.date = date;
  252. //ConsoleWindow.Trace("year = " + year + ", month = " + month + ", date = " + date);
  253. }
  254. }
粤ICP备19079148号