Lobby2ClientGFx3Impl.cpp 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393
  1. /*
  2. * Copyright (c) 2014, Oculus VR, Inc.
  3. * All rights reserved.
  4. *
  5. * This source code is licensed under the BSD-style license found in the
  6. * LICENSE file in the root directory of this source tree. An additional grant
  7. * of patent rights can be found in the PATENTS file in the same directory.
  8. *
  9. */
  10. // Common includes
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include "GetTime.h"
  14. #include "RakPeerInterface.h"
  15. #include "MessageIdentifiers.h"
  16. #include "BitStream.h"
  17. #include "Lobby2ClientGFx3Impl.h"
  18. #include "Lobby2Client.h"
  19. using namespace RakNet;
  20. Lobby2ClientGFx3Impl::Lobby2ClientGFx3Impl()
  21. {
  22. }
  23. Lobby2ClientGFx3Impl::~Lobby2ClientGFx3Impl()
  24. {
  25. Shutdown();
  26. }
  27. void Lobby2ClientGFx3Impl::Init(RakNet::Lobby2Client *_lobby2Client, RakNet::Lobby2MessageFactory *_messageFactory, RakPeerInterface *_rakPeer, GPtr<FxDelegate> pDelegate, GPtr<GFxMovieView> pMovie)
  28. {
  29. lobby2Client=_lobby2Client;
  30. messageFactory=_messageFactory;
  31. pDelegate->RegisterHandler(this);
  32. delegate=pDelegate;
  33. movie=pMovie;
  34. rakPeer=_rakPeer;
  35. }
  36. void Lobby2ClientGFx3Impl::Update(void)
  37. {
  38. }
  39. void Lobby2ClientGFx3Impl::Shutdown(void)
  40. {
  41. if (delegate.GetPtr()!=0)
  42. {
  43. delegate->UnregisterHandler(this);
  44. delegate.Clear();
  45. }
  46. movie.Clear();
  47. }
  48. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_ResetDatabase)
  49. {
  50. __L2_ALLOCATE_AND_DEFINE(messageFactory, System_CreateDatabase, m1);
  51. lobby2Client->SendMsgAndDealloc(m1);
  52. }
  53. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Connect)
  54. {
  55. rakPeer->Connect(pparams[0].GetString(), atoi(pparams[1].GetString()), 0,0);
  56. lobby2Client->SetServerAddress(
  57. SystemAddress(pparams[0].GetString(), atoi(pparams[1].GetString()))
  58. );
  59. FxResponseArgs<0> rargs;
  60. FxDelegate::Invoke2(movie, "c2f_NotifyConnectingToServer", rargs);
  61. }
  62. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_RecoverPasswordByUsername)
  63. {
  64. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_GetPasswordRecoveryQuestionByHandle, m1);
  65. m1->userName=pparams[0].GetString();
  66. lobby2Client->SendMsgAndDealloc(m1);
  67. }
  68. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_GetPasswordByPasswordRecoveryAnswer)
  69. {
  70. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_GetPasswordByPasswordRecoveryAnswer, m1);
  71. m1->userName=pparams[0].GetString();
  72. m1->passwordRecoveryAnswer=pparams[1].GetString();
  73. lobby2Client->SendMsgAndDealloc(m1);
  74. }
  75. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_RegisterAccountStateQuery)
  76. {
  77. bool needsCdKeyToLogin=true;
  78. if (needsCdKeyToLogin)
  79. {
  80. FxResponseArgs<0> rargs;
  81. FxDelegate::Invoke2(movie, "c2f_SetStateEnterCDKey", rargs);
  82. }
  83. else
  84. {
  85. FxResponseArgs<0> rargs;
  86. FxDelegate::Invoke2(movie, "c2f_SetStateRegisterAccount", rargs);
  87. }
  88. }
  89. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_DeleteAccount)
  90. {
  91. __L2_ALLOCATE_AND_DEFINE(messageFactory, System_DeleteAccount, m1);
  92. m1->userName=pparams[0].GetString();
  93. m1->password=pparams[1].GetString();
  94. lobby2Client->SendMsgAndDealloc(m1);
  95. }
  96. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_GetAccountDetails)
  97. {
  98. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_GetAccountDetails, m1);
  99. lobby2Client->SendMsgAndDealloc(m1);
  100. }
  101. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_LoginToAccount)
  102. {
  103. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_Login, m1);
  104. m1->titleName="Test Title Name";
  105. m1->titleSecretKey="Test secret key";
  106. m1->userName=pparams[0].GetString();
  107. m1->userPassword=pparams[1].GetString();
  108. bool savePassword=pparams[2].GetBool();
  109. lobby2Client->SendMsgAndDealloc(m1);
  110. }
  111. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_DisconnectFromServer)
  112. {
  113. rakPeer->CloseConnection(lobby2Client->GetServerAddress(), true);
  114. }
  115. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_CheckCDKey)
  116. {
  117. __L2_ALLOCATE_AND_DEFINE(messageFactory, CDKey_GetStatus, m1);
  118. m1->titleName="Test Title Name";
  119. m1->cdKey=pparams[0].GetString();
  120. lobby2Client->SendMsgAndDealloc(m1);
  121. }
  122. void ReadAccountBinaryData(FxResponseArgsList &rargs,
  123. RakNet::BitStream *serializedBinaryData)
  124. {
  125. RakNet::RakString aboutMe;
  126. RakNet::RakString activities;
  127. RakNet::RakString interests;
  128. RakNet::RakString favoriteGames;
  129. RakNet::RakString favoriteMovies;
  130. RakNet::RakString favoriteBooks;
  131. RakNet::RakString favoriteQuotations;
  132. serializedBinaryData->Read(aboutMe);
  133. serializedBinaryData->Read(activities);
  134. serializedBinaryData->Read(interests);
  135. serializedBinaryData->Read(favoriteGames);
  136. serializedBinaryData->Read(favoriteMovies);
  137. serializedBinaryData->Read(favoriteBooks);
  138. serializedBinaryData->Read(favoriteQuotations);
  139. rargs.Add(aboutMe.C_String());
  140. rargs.Add(activities.C_String());
  141. rargs.Add(interests.C_String());
  142. rargs.Add(favoriteGames.C_String());
  143. rargs.Add(favoriteMovies.C_String());
  144. rargs.Add(favoriteBooks.C_String());
  145. rargs.Add(favoriteQuotations.C_String());
  146. }
  147. void WriteAccountBinaryData(RakNet::BitStream *serializedBinaryData, const FxDelegateArgs& pparams, int &index)
  148. {
  149. RakNet::RakString aboutMe = pparams[index++].GetString();
  150. RakNet::RakString activities = pparams[index++].GetString();
  151. RakNet::RakString interests = pparams[index++].GetString();
  152. RakNet::RakString favoriteGames = pparams[index++].GetString();
  153. RakNet::RakString favoriteMovies = pparams[index++].GetString();
  154. RakNet::RakString favoriteBooks = pparams[index++].GetString();
  155. RakNet::RakString favoriteQuotations = pparams[index++].GetString();
  156. serializedBinaryData->Write(aboutMe);
  157. serializedBinaryData->Write(activities);
  158. serializedBinaryData->Write(interests);
  159. serializedBinaryData->Write(favoriteGames);
  160. serializedBinaryData->Write(favoriteMovies);
  161. serializedBinaryData->Write(favoriteBooks);
  162. serializedBinaryData->Write(favoriteQuotations);
  163. }
  164. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_RegisterAccount)
  165. {
  166. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_RegisterAccount, m1);
  167. int index=0;
  168. m1->createAccountParameters.firstName=pparams[index++].GetString();
  169. m1->createAccountParameters.middleName=pparams[index++].GetString();
  170. m1->createAccountParameters.lastName=pparams[index++].GetString();
  171. m1->createAccountParameters.race=pparams[index++].GetString();
  172. m1->createAccountParameters.sex_male=pparams[index++].GetBool();
  173. m1->createAccountParameters.homeAddress1=pparams[index++].GetString();
  174. m1->createAccountParameters.homeAddress2=pparams[index++].GetString();
  175. m1->createAccountParameters.homeCity=pparams[index++].GetString();
  176. m1->createAccountParameters.homeState=pparams[index++].GetString();
  177. m1->createAccountParameters.homeCountry=pparams[index++].GetString();
  178. m1->createAccountParameters.homeZipCode=pparams[index++].GetString();
  179. m1->createAccountParameters.billingAddress1=pparams[index++].GetString();
  180. m1->createAccountParameters.billingAddress2=pparams[index++].GetString();
  181. m1->createAccountParameters.billingCity=pparams[index++].GetString();
  182. m1->createAccountParameters.billingState=pparams[index++].GetString();
  183. m1->createAccountParameters.billingCountry=pparams[index++].GetString();
  184. m1->createAccountParameters.billingZipCode=pparams[index++].GetString();
  185. m1->createAccountParameters.emailAddress=pparams[index++].GetString();
  186. m1->createAccountParameters.password=pparams[index++].GetString();
  187. m1->createAccountParameters.passwordRecoveryQuestion=pparams[index++].GetString();
  188. m1->createAccountParameters.passwordRecoveryAnswer=pparams[index++].GetString();
  189. m1->createAccountParameters.caption1=pparams[index++].GetString();
  190. m1->createAccountParameters.caption2=pparams[index++].GetString();
  191. m1->createAccountParameters.ageInDays=atoi(pparams[index++].GetString());
  192. m1->titleName="Test Title Name";
  193. m1->cdKey="Test CD Key";
  194. m1->userName=pparams[index++].GetString();
  195. RakNet::BitStream serializedBinaryData;
  196. WriteAccountBinaryData(&serializedBinaryData, pparams, index);
  197. m1->createAccountParameters.binaryData = RakNet::OP_NEW<BinaryDataBlock>(_FILE_AND_LINE_);
  198. m1->createAccountParameters.binaryData->binaryData=(char*) serializedBinaryData.GetData();
  199. m1->createAccountParameters.binaryData->binaryDataLength=serializedBinaryData.GetNumberOfBytesUsed();
  200. lobby2Client->SendMsg(m1);
  201. m1->createAccountParameters.binaryData->binaryData=0; // So it doesn't get deallocated
  202. messageFactory->Dealloc(m1);
  203. }
  204. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_ValidateHandle)
  205. {
  206. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_ValidateHandle, m1);
  207. m1->userName=pparams[0].GetString();
  208. lobby2Client->SendMsgAndDealloc(m1);
  209. }
  210. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_ChangeHandle)
  211. {
  212. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_ChangeHandle, m1);
  213. m1->userName=pparams[0].GetString();
  214. m1->password=pparams[1].GetString();
  215. m1->newHandle=pparams[2].GetString();
  216. m1->requiresPasswordToChangeHandle=true;
  217. lobby2Client->SendMsgAndDealloc(m1);
  218. }
  219. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Logoff)
  220. {
  221. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_Logoff, m1);
  222. lobby2Client->SendMsgAndDealloc(m1);
  223. }
  224. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_UpdateAccount)
  225. {
  226. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_UpdateAccount, m1);
  227. int index=0;
  228. m1->createAccountParameters.firstName=pparams[index++].GetString();
  229. m1->createAccountParameters.middleName=pparams[index++].GetString();
  230. m1->createAccountParameters.lastName=pparams[index++].GetString();
  231. m1->createAccountParameters.race=pparams[index++].GetString();
  232. m1->createAccountParameters.sex_male=pparams[index++].GetBool();
  233. m1->createAccountParameters.homeAddress1=pparams[index++].GetString();
  234. m1->createAccountParameters.homeAddress2=pparams[index++].GetString();
  235. m1->createAccountParameters.homeCity=pparams[index++].GetString();
  236. m1->createAccountParameters.homeState=pparams[index++].GetString();
  237. m1->createAccountParameters.homeCountry=pparams[index++].GetString();
  238. m1->createAccountParameters.homeZipCode=pparams[index++].GetString();
  239. m1->createAccountParameters.billingAddress1=pparams[index++].GetString();
  240. m1->createAccountParameters.billingAddress2=pparams[index++].GetString();
  241. m1->createAccountParameters.billingCity=pparams[index++].GetString();
  242. m1->createAccountParameters.billingState=pparams[index++].GetString();
  243. m1->createAccountParameters.billingCountry=pparams[index++].GetString();
  244. m1->createAccountParameters.billingZipCode=pparams[index++].GetString();
  245. m1->createAccountParameters.emailAddress=pparams[index++].GetString();
  246. m1->createAccountParameters.password=pparams[index++].GetString();
  247. m1->createAccountParameters.passwordRecoveryQuestion=pparams[index++].GetString();
  248. m1->createAccountParameters.passwordRecoveryAnswer=pparams[index++].GetString();
  249. m1->createAccountParameters.caption1=pparams[index++].GetString();
  250. m1->createAccountParameters.caption2=pparams[index++].GetString();
  251. m1->createAccountParameters.ageInDays=atoi(pparams[index++].GetString());
  252. RakNet::BitStream serializedBinaryData;
  253. WriteAccountBinaryData(&serializedBinaryData, pparams,index);
  254. m1->createAccountParameters.binaryData->binaryData=(char*) serializedBinaryData.GetData();
  255. m1->createAccountParameters.binaryData->binaryDataLength=serializedBinaryData.GetNumberOfBytesUsed();
  256. lobby2Client->SendMsg(m1);
  257. m1->createAccountParameters.binaryData->binaryData=0;
  258. messageFactory->Dealloc(m1);
  259. }
  260. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_StartIgnore)
  261. {
  262. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_StartIgnore, m1);
  263. m1->targetHandle=pparams[0].GetString();
  264. lobby2Client->SendMsgAndDealloc(m1);
  265. }
  266. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_StopIgnore)
  267. {
  268. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_StopIgnore, m1);
  269. m1->targetHandle=pparams[0].GetString();
  270. lobby2Client->SendMsgAndDealloc(m1);
  271. }
  272. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_GetIgnoreList)
  273. {
  274. __L2_ALLOCATE_AND_DEFINE(messageFactory, Client_GetIgnoreList, m1);
  275. lobby2Client->SendMsgAndDealloc(m1);
  276. }
  277. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_SendInvite)
  278. {
  279. __L2_ALLOCATE_AND_DEFINE(messageFactory, Friends_SendInvite, m1);
  280. m1->targetHandle=pparams[0].GetString();
  281. m1->subject=pparams[1].GetString();
  282. m1->body=pparams[2].GetString();
  283. m1->emailStatus=atoi(pparams[3].GetString());
  284. lobby2Client->SendMsgAndDealloc(m1);
  285. }
  286. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_AcceptInvite)
  287. {
  288. __L2_ALLOCATE_AND_DEFINE(messageFactory, Friends_AcceptInvite, m1);
  289. m1->targetHandle=pparams[0].GetString();
  290. m1->subject=pparams[1].GetString();
  291. m1->body=pparams[2].GetString();
  292. m1->emailStatus=atoi(pparams[3].GetString());
  293. lobby2Client->SendMsgAndDealloc(m1);
  294. }
  295. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_RejectInvite)
  296. {
  297. __L2_ALLOCATE_AND_DEFINE(messageFactory, Friends_RejectInvite, m1);
  298. m1->targetHandle=pparams[0].GetString();
  299. m1->subject=pparams[1].GetString();
  300. m1->body=pparams[2].GetString();
  301. m1->emailStatus=atoi(pparams[3].GetString());
  302. lobby2Client->SendMsgAndDealloc(m1);
  303. }
  304. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_RemoveFriend)
  305. {
  306. __L2_ALLOCATE_AND_DEFINE(messageFactory, Friends_Remove, m1);
  307. m1->targetHandle=pparams[0].GetString();
  308. m1->subject=pparams[1].GetString();
  309. m1->body=pparams[2].GetString();
  310. m1->emailStatus=atoi(pparams[3].GetString());
  311. lobby2Client->SendMsgAndDealloc(m1);
  312. }
  313. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_GetFriendInvites)
  314. {
  315. __L2_ALLOCATE_AND_DEFINE(messageFactory, Friends_GetInvites, m1);
  316. lobby2Client->SendMsgAndDealloc(m1);
  317. }
  318. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_GetFriends)
  319. {
  320. __L2_ALLOCATE_AND_DEFINE(messageFactory, Friends_GetFriends, m1);
  321. lobby2Client->SendMsgAndDealloc(m1);
  322. }
  323. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_SendEmail)
  324. {
  325. __L2_ALLOCATE_AND_DEFINE(messageFactory, Emails_Send, m1);
  326. unsigned int index;
  327. for (index=0; index < 8; index++)
  328. {
  329. if (pparams[index].GetString() && pparams[index].GetString()[0])
  330. m1->recipients.Push(RakNet::RakString(pparams[index].GetString()), _FILE_AND_LINE_);
  331. }
  332. m1->subject=pparams[index++].GetString();
  333. m1->body=pparams[index++].GetString();
  334. m1->status=atoi(pparams[index++].GetString());
  335. lobby2Client->SendMsgAndDealloc(m1);
  336. }
  337. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_DeleteEmail)
  338. {
  339. __L2_ALLOCATE_AND_DEFINE(messageFactory, Emails_Delete, m1);
  340. m1->emailId=atoi(pparams[0].GetString());
  341. lobby2Client->SendMsgAndDealloc(m1);
  342. }
  343. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_UpdateEmail)
  344. {
  345. __L2_ALLOCATE_AND_DEFINE(messageFactory, Emails_SetStatus, m1);
  346. m1->emailId=atoi(pparams[0].GetString());
  347. m1->updateStatusFlag=pparams[1].GetBool();
  348. m1->updateMarkedRead=pparams[2].GetBool();
  349. m1->newStatusFlag=atoi(pparams[3].GetString());
  350. m1->isNowMarkedRead=pparams[4].GetBool();
  351. lobby2Client->SendMsgAndDealloc(m1);
  352. }
  353. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_GetEmails)
  354. {
  355. __L2_ALLOCATE_AND_DEFINE(messageFactory, Emails_Get, m1);
  356. lobby2Client->SendMsgAndDealloc(m1);
  357. }
  358. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_Create)
  359. {
  360. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_Create, m1);
  361. m1->clanHandle=pparams[0].GetString();
  362. m1->failIfAlreadyInClan=pparams[1].GetBool();
  363. m1->requiresInvitationsToJoin=pparams[2].GetBool();
  364. m1->description=pparams[3].GetString();
  365. lobby2Client->SendMsgAndDealloc(m1);
  366. }
  367. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_SetProperties)
  368. {
  369. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_SetProperties, m1);
  370. m1->clanHandle=pparams[0].GetString();
  371. m1->description=pparams[1].GetString();
  372. lobby2Client->SendMsgAndDealloc(m1);
  373. }
  374. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_GetProperties)
  375. {
  376. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_GetProperties, m1);
  377. m1->clanHandle=pparams[0].GetString();
  378. lobby2Client->SendMsgAndDealloc(m1);
  379. }
  380. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_SetMyMemberProperties)
  381. {
  382. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_SetMyMemberProperties, m1);
  383. m1->clanHandle=pparams[0].GetString();
  384. m1->description=pparams[1].GetString();
  385. lobby2Client->SendMsgAndDealloc(m1);
  386. }
  387. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_GrantLeader)
  388. {
  389. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_GrantLeader, m1);
  390. m1->clanHandle=pparams[0].GetString();
  391. m1->targetHandle=pparams[1].GetString();
  392. lobby2Client->SendMsgAndDealloc(m1);
  393. }
  394. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_SetSubleaderStatus)
  395. {
  396. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_SetSubleaderStatus, m1);
  397. m1->clanHandle=pparams[0].GetString();
  398. m1->targetHandle=pparams[1].GetString();
  399. m1->setToSubleader=pparams[2].GetBool();
  400. lobby2Client->SendMsgAndDealloc(m1);
  401. }
  402. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_SetMemberRank)
  403. {
  404. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_SetMemberRank, m1);
  405. m1->clanHandle=pparams[0].GetString();
  406. m1->targetHandle=pparams[1].GetString();
  407. m1->newRank=atoi(pparams[2].GetString());
  408. lobby2Client->SendMsgAndDealloc(m1);
  409. }
  410. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_GetMemberProperties)
  411. {
  412. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_GetMemberProperties, m1);
  413. m1->clanHandle=pparams[0].GetString();
  414. m1->targetHandle=pparams[1].GetString();
  415. lobby2Client->SendMsgAndDealloc(m1);
  416. }
  417. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_ChangeHandle)
  418. {
  419. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_ChangeHandle, m1);
  420. m1->oldClanHandle=pparams[0].GetString();
  421. m1->newClanHandle=pparams[1].GetString();
  422. lobby2Client->SendMsgAndDealloc(m1);
  423. }
  424. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_Leave)
  425. {
  426. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_Leave, m1);
  427. m1->clanHandle=pparams[0].GetString();
  428. m1->subject=pparams[1].GetString();
  429. m1->body=pparams[2].GetString();
  430. m1->emailStatus=atoi(pparams[3].GetString());
  431. m1->dissolveIfClanLeader=pparams[4].GetBool();
  432. lobby2Client->SendMsgAndDealloc(m1);
  433. }
  434. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_Get)
  435. {
  436. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_Get, m1);
  437. lobby2Client->SendMsgAndDealloc(m1);
  438. }
  439. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_SendJoinInvitation)
  440. {
  441. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_SendJoinInvitation, m1);
  442. m1->clanHandle=pparams[0].GetString();
  443. m1->subject=pparams[1].GetString();
  444. m1->body=pparams[2].GetString();
  445. m1->emailStatus=atoi(pparams[3].GetString());
  446. m1->targetHandle=pparams[4].GetString();
  447. lobby2Client->SendMsgAndDealloc(m1);
  448. }
  449. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_WithdrawJoinInvitation)
  450. {
  451. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_WithdrawJoinInvitation, m1);
  452. m1->clanHandle=pparams[0].GetString();
  453. m1->subject=pparams[1].GetString();
  454. m1->body=pparams[2].GetString();
  455. m1->emailStatus=atoi(pparams[3].GetString());
  456. m1->targetHandle=pparams[4].GetString();
  457. lobby2Client->SendMsgAndDealloc(m1);
  458. }
  459. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_AcceptJoinInvitation)
  460. {
  461. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_AcceptJoinInvitation, m1);
  462. m1->clanHandle=pparams[0].GetString();
  463. m1->subject=pparams[1].GetString();
  464. m1->body=pparams[2].GetString();
  465. m1->emailStatus=atoi(pparams[3].GetString());
  466. lobby2Client->SendMsgAndDealloc(m1);
  467. }
  468. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_RejectJoinInvitation)
  469. {
  470. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_RejectJoinInvitation, m1);
  471. m1->clanHandle=pparams[0].GetString();
  472. m1->subject=pparams[1].GetString();
  473. m1->body=pparams[2].GetString();
  474. m1->emailStatus=atoi(pparams[3].GetString());
  475. lobby2Client->SendMsgAndDealloc(m1);
  476. }
  477. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_DownloadInvitationList)
  478. {
  479. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_DownloadInvitationList, m1);
  480. lobby2Client->SendMsgAndDealloc(m1);
  481. }
  482. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_SendJoinRequest)
  483. {
  484. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_SendJoinRequest, m1);
  485. m1->clanHandle=pparams[0].GetString();
  486. m1->subject=pparams[1].GetString();
  487. m1->body=pparams[2].GetString();
  488. m1->emailStatus=atoi(pparams[3].GetString());
  489. lobby2Client->SendMsgAndDealloc(m1);
  490. }
  491. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_WithdrawJoinRequest)
  492. {
  493. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_WithdrawJoinRequest, m1);
  494. m1->clanHandle=pparams[0].GetString();
  495. m1->subject=pparams[1].GetString();
  496. m1->body=pparams[2].GetString();
  497. m1->emailStatus=atoi(pparams[3].GetString());
  498. lobby2Client->SendMsgAndDealloc(m1);
  499. }
  500. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_AcceptJoinRequest)
  501. {
  502. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_AcceptJoinRequest, m1);
  503. m1->clanHandle=pparams[0].GetString();
  504. m1->subject=pparams[1].GetString();
  505. m1->body=pparams[2].GetString();
  506. m1->emailStatus=atoi(pparams[3].GetString());
  507. m1->requestingUserHandle=pparams[4].GetString();
  508. m1->failIfAlreadyInClan=pparams[5].GetBool();
  509. lobby2Client->SendMsgAndDealloc(m1);
  510. }
  511. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_RejectJoinRequest)
  512. {
  513. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_RejectJoinRequest, m1);
  514. m1->clanHandle=pparams[0].GetString();
  515. m1->subject=pparams[1].GetString();
  516. m1->body=pparams[2].GetString();
  517. m1->emailStatus=atoi(pparams[3].GetString());
  518. m1->requestingUserHandle=pparams[4].GetString();
  519. lobby2Client->SendMsgAndDealloc(m1);
  520. }
  521. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_DownloadRequestList)
  522. {
  523. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_DownloadRequestList, m1);
  524. lobby2Client->SendMsgAndDealloc(m1);
  525. }
  526. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_KickAndBlacklistUser)
  527. {
  528. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_KickAndBlacklistUser, m1);
  529. m1->clanHandle=pparams[0].GetString();
  530. m1->subject=pparams[1].GetString();
  531. m1->body=pparams[2].GetString();
  532. m1->emailStatus=atoi(pparams[3].GetString());
  533. m1->targetHandle=pparams[4].GetString();
  534. m1->kick=pparams[5].GetBool();
  535. m1->blacklist=pparams[6].GetBool();
  536. m1->reason=pparams[7].GetString();
  537. lobby2Client->SendMsgAndDealloc(m1);
  538. }
  539. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_UnblacklistUser)
  540. {
  541. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_UnblacklistUser, m1);
  542. m1->clanHandle=pparams[0].GetString();
  543. m1->subject=pparams[1].GetString();
  544. m1->body=pparams[2].GetString();
  545. m1->emailStatus=atoi(pparams[3].GetString());
  546. m1->targetHandle=pparams[4].GetString();
  547. lobby2Client->SendMsgAndDealloc(m1);
  548. }
  549. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_GetBlacklist)
  550. {
  551. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_GetBlacklist, m1);
  552. m1->clanHandle=pparams[0].GetString();
  553. lobby2Client->SendMsgAndDealloc(m1);
  554. }
  555. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_GetMembers)
  556. {
  557. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_GetMembers, m1);
  558. m1->clanHandle=pparams[0].GetString();
  559. lobby2Client->SendMsgAndDealloc(m1);
  560. }
  561. ACTIONSCRIPT_CALLABLE_FUNCTION(Lobby2ClientGFx3Impl, f2c_Clans_GetList)
  562. {
  563. __L2_ALLOCATE_AND_DEFINE(messageFactory, Clans_GetList, m1);
  564. lobby2Client->SendMsgAndDealloc(m1);
  565. }
  566. void Lobby2ClientGFx3Impl::MessageResult(Client_ValidateHandle *message)
  567. {
  568. FxResponseArgs<1> rargs;
  569. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  570. FxDelegate::Invoke2(movie, "c2f_ValidateHandleResult", rargs);
  571. }
  572. void Lobby2ClientGFx3Impl::MessageResult(Client_RegisterAccount *message)
  573. {
  574. FxResponseArgs<3> rargs;
  575. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  576. rargs.Add(message->userName.C_String());
  577. rargs.Add(message->createAccountParameters.password.C_String());
  578. FxDelegate::Invoke2(movie, "c2f_RegisterAccountResult", rargs);
  579. // TODO - once the GUI is implemented, comment this out to make sure the implemtor handled not having a valid email address
  580. __L2_ALLOCATE_AND_DEFINE(messageFactory, System_SetEmailAddressValidated, m1);
  581. m1->validated=true;
  582. m1->userName=message->userName;
  583. lobby2Client->SendMsgAndDealloc(m1);
  584. }
  585. void Lobby2ClientGFx3Impl::MessageResult(Client_UpdateAccount *message)
  586. {
  587. FxResponseArgs<1> rargs;
  588. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  589. FxDelegate::Invoke2(movie, "c2f_UpdateAccountResult", rargs);
  590. }
  591. void Lobby2ClientGFx3Impl::MessageResult(CDKey_GetStatus *message)
  592. {
  593. FxResponseArgs<5> rargs;
  594. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  595. rargs.Add(message->usedBy.C_String());
  596. rargs.Add(message->activationDate.C_String());
  597. rargs.Add(message->wasStolen);
  598. rargs.Add(message->usable);
  599. FxDelegate::Invoke2(movie, "c2f_CheckCDKeyResult", rargs);
  600. }
  601. void Lobby2ClientGFx3Impl::MessageResult(System_DeleteAccount *message)
  602. {
  603. FxResponseArgs<1> rargs;
  604. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  605. FxDelegate::Invoke2(movie, "c2f_DeleteAccountResult", rargs);
  606. }
  607. void Lobby2ClientGFx3Impl::MessageResult(Client_Login *message)
  608. {
  609. if (message->resultCode==L2RC_SUCCESS)
  610. {
  611. FxResponseArgs<0> rargs;
  612. FxDelegate::Invoke2(movie, "c2f_NotifyLoginResultSuccess", rargs);
  613. }
  614. else
  615. {
  616. FxResponseArgs<4> rargs;
  617. switch(message->resultCode)
  618. {
  619. case L2RC_Client_Login_BANNED:
  620. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  621. rargs.Add(message->bannedReason.C_String());
  622. rargs.Add(message->whenBanned.C_String());
  623. rargs.Add(message->bannedExpiration.C_String());
  624. break;
  625. default:
  626. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  627. rargs.Add(""); rargs.Add(""); rargs.Add("");
  628. break;
  629. }
  630. FxDelegate::Invoke2(movie, "c2f_NotifyLoginResultFailure", rargs);
  631. }
  632. }
  633. void Lobby2ClientGFx3Impl::MessageResult(System_CreateDatabase *message)
  634. {
  635. // After the database is created (immediately above), create the first title and cd key
  636. __L2_ALLOCATE_AND_DEFINE(messageFactory, System_CreateTitle, m2);
  637. m2->requiredAge=0;
  638. m2->titleName="Test Title Name";
  639. m2->titleSecretKey="Test secret key";
  640. lobby2Client->SendMsgAndDealloc(m2);
  641. }
  642. void Lobby2ClientGFx3Impl::MessageResult(System_CreateTitle *message)
  643. {
  644. __L2_ALLOCATE_AND_DEFINE(messageFactory, CDKey_Add, m3);
  645. m3->cdKeys.Insert("Test CD Key", _FILE_AND_LINE_);
  646. m3->titleName="Test Title Name";
  647. lobby2Client->SendMsgAndDealloc(m3);
  648. }
  649. void Lobby2ClientGFx3Impl::MessageResult(Client_ChangeHandle *message)
  650. {
  651. FxResponseArgs<3> rargs;
  652. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  653. rargs.Add(message->userName.C_String());
  654. rargs.Add(message->newHandle.C_String());
  655. FxDelegate::Invoke2(movie, "c2f_ChangeHandleResult", rargs);
  656. }
  657. void Lobby2ClientGFx3Impl::MessageResult(Client_GetAccountDetails *message)
  658. {
  659. FxResponseArgsList rargs;
  660. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  661. rargs.Add(message->createAccountParameters.firstName.C_String());
  662. rargs.Add(message->createAccountParameters.middleName.C_String());
  663. rargs.Add(message->createAccountParameters.lastName.C_String());
  664. rargs.Add(message->createAccountParameters.race.C_String());
  665. rargs.Add(message->createAccountParameters.sex_male);
  666. rargs.Add(message->createAccountParameters.homeAddress1.C_String());
  667. rargs.Add(message->createAccountParameters.homeAddress2.C_String());
  668. rargs.Add(message->createAccountParameters.homeCity.C_String());
  669. rargs.Add(message->createAccountParameters.homeState.C_String());
  670. rargs.Add(message->createAccountParameters.homeCountry.C_String());
  671. rargs.Add(message->createAccountParameters.homeZipCode.C_String());
  672. rargs.Add(message->createAccountParameters.billingAddress1.C_String());
  673. rargs.Add(message->createAccountParameters.billingAddress2.C_String());
  674. rargs.Add(message->createAccountParameters.billingCity.C_String());
  675. rargs.Add(message->createAccountParameters.billingState.C_String());
  676. rargs.Add(message->createAccountParameters.billingCountry.C_String());
  677. rargs.Add(message->createAccountParameters.billingZipCode.C_String());
  678. rargs.Add(message->createAccountParameters.emailAddress.C_String());
  679. rargs.Add(message->createAccountParameters.password.C_String());
  680. rargs.Add(message->createAccountParameters.passwordRecoveryQuestion.C_String());
  681. rargs.Add(message->createAccountParameters.passwordRecoveryAnswer.C_String());
  682. rargs.Add(message->createAccountParameters.caption1.C_String());
  683. rargs.Add(message->createAccountParameters.caption2.C_String());
  684. rargs.Add((Double)message->createAccountParameters.ageInDays);
  685. RakNet::BitStream serializedBinaryData((unsigned char*) message->createAccountParameters.binaryData->binaryData, message->createAccountParameters.binaryData->binaryDataLength,false);
  686. ReadAccountBinaryData(rargs,&serializedBinaryData);
  687. FxDelegate::Invoke2(movie, "c2f_GetAccountDetailsResult", rargs);
  688. }
  689. void Lobby2ClientGFx3Impl::MessageResult(RakNet::Client_StartIgnore *message)
  690. {
  691. FxResponseArgs<1> rargs;
  692. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  693. FxDelegate::Invoke2(movie, "c2f_StartIgnore", rargs);
  694. }
  695. void Lobby2ClientGFx3Impl::MessageResult(RakNet::Client_StopIgnore *message)
  696. {
  697. FxResponseArgs<1> rargs;
  698. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  699. FxDelegate::Invoke2(movie, "c2f_StopIgnore", rargs);
  700. }
  701. void Lobby2ClientGFx3Impl::MessageResult(RakNet::Client_GetIgnoreList *message)
  702. {
  703. FxResponseArgsList rargs;
  704. for (unsigned int i=0; i < message->ignoredHandles.Size(); i++)
  705. rargs.Add(message->ignoredHandles[i].C_String());
  706. FxDelegate::Invoke2(movie, "c2f_GetIgnoreListResult", rargs);
  707. }
  708. void Lobby2ClientGFx3Impl::MessageResult(RakNet::Client_GetPasswordRecoveryQuestionByHandle *message)
  709. {
  710. // TODO - email them
  711. FxResponseArgs<4> rargs;
  712. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  713. rargs.Add(message->userName.C_String());
  714. rargs.Add(message->emailAddress.C_String());
  715. rargs.Add(message->passwordRecoveryQuestion.C_String());
  716. FxDelegate::Invoke2(movie, "c2f_RecoverPasswordByUsername", rargs);
  717. }
  718. void Lobby2ClientGFx3Impl::MessageResult(RakNet::Client_GetPasswordByPasswordRecoveryAnswer *message)
  719. {
  720. FxResponseArgs<4> rargs;
  721. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  722. rargs.Add(message->userName.C_String());
  723. rargs.Add(message->passwordRecoveryAnswer.C_String());
  724. rargs.Add(message->password.C_String());
  725. FxDelegate::Invoke2(movie, "c2f_GetPasswordByPasswordRecoveryAnswer", rargs);
  726. }
  727. void Lobby2ClientGFx3Impl::MessageResult(Friends_SendInvite *message)
  728. {
  729. FxResponseArgs<1> rargs;
  730. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  731. FxDelegate::Invoke2(movie, "c2f_SendInviteResult", rargs);
  732. }
  733. void Lobby2ClientGFx3Impl::MessageResult(Friends_AcceptInvite *message)
  734. {
  735. FxResponseArgs<1> rargs;
  736. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  737. FxDelegate::Invoke2(movie, "c2f_AcceptInviteResult", rargs);
  738. }
  739. void Lobby2ClientGFx3Impl::MessageResult(Friends_RejectInvite *message)
  740. {
  741. FxResponseArgs<1> rargs;
  742. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  743. FxDelegate::Invoke2(movie, "c2f_RejectInviteResult", rargs);
  744. }
  745. void Lobby2ClientGFx3Impl::MessageResult(Friends_Remove *message)
  746. {
  747. FxResponseArgs<1> rargs;
  748. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  749. FxDelegate::Invoke2(movie, "c2f_RemoveFriendResult", rargs);
  750. }
  751. void Lobby2ClientGFx3Impl::MessageResult(Friends_GetInvites *message)
  752. {
  753. FxResponseArgsList rargs;
  754. rargs.Add((Double)message->invitesSent.Size());
  755. rargs.Add((Double)message->invitesReceived.Size());
  756. for (unsigned int i=0; i < message->invitesSent.Size(); i++)
  757. rargs.Add(message->invitesSent[i].usernameAndStatus.handle.C_String());
  758. for (unsigned int i=0; i < message->invitesReceived.Size(); i++)
  759. rargs.Add(message->invitesReceived[i].usernameAndStatus.handle.C_String());
  760. FxDelegate::Invoke2(movie, "c2f_GetFriendInvites", rargs);
  761. }
  762. void Lobby2ClientGFx3Impl::MessageResult(Friends_GetFriends *message)
  763. {
  764. FxResponseArgsList rargs;
  765. for (unsigned int i=0; i < message->myFriends.Size(); i++)
  766. rargs.Add(message->myFriends[i].usernameAndStatus.handle.C_String());
  767. FxDelegate::Invoke2(movie, "c2f_GetFriends", rargs);
  768. }
  769. void Lobby2ClientGFx3Impl::MessageResult(Emails_Send *message)
  770. {
  771. FxResponseArgs<1> rargs;
  772. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  773. FxDelegate::Invoke2(movie, "c2f_SendEmail", rargs);
  774. }
  775. void Lobby2ClientGFx3Impl::MessageResult(Emails_Delete *message)
  776. {
  777. FxResponseArgs<1> rargs;
  778. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  779. FxDelegate::Invoke2(movie, "c2f_DeleteEmail", rargs);
  780. }
  781. void Lobby2ClientGFx3Impl::MessageResult(Emails_SetStatus *message)
  782. {
  783. FxResponseArgs<1> rargs;
  784. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  785. FxDelegate::Invoke2(movie, "c2f_UpdateEmail", rargs);
  786. }
  787. void Lobby2ClientGFx3Impl::MessageResult(Emails_Get *message)
  788. {
  789. FxResponseArgsList rargs;
  790. for (unsigned int i=0; i < message->emailResults.Size(); i++)
  791. {
  792. rargs.Add(message->emailResults[i].sender.C_String());
  793. rargs.Add(message->emailResults[i].recipient.C_String());
  794. rargs.Add(message->emailResults[i].subject.C_String());
  795. rargs.Add(message->emailResults[i].body.C_String());
  796. rargs.Add((Double) message->emailResults[i].status);
  797. rargs.Add(message->emailResults[i].wasSendByMe);
  798. rargs.Add(message->emailResults[i].wasReadByMe);
  799. rargs.Add((Double) message->emailResults[i].emailID);
  800. rargs.Add(message->emailResults[i].creationDate.C_String());
  801. }
  802. FxDelegate::Invoke2(movie, "c2f_GetEmails", rargs);
  803. }
  804. void Lobby2ClientGFx3Impl::MessageResult(Clans_Create *message)
  805. {
  806. FxResponseArgs<1> rargs;
  807. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  808. FxDelegate::Invoke2(movie, "c2f_Clans_Create", rargs);
  809. }
  810. void Lobby2ClientGFx3Impl::MessageResult(Clans_SetProperties *message)
  811. {
  812. FxResponseArgs<1> rargs;
  813. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  814. FxDelegate::Invoke2(movie, "c2f_Clans_SetProperties", rargs);
  815. }
  816. void Lobby2ClientGFx3Impl::MessageResult(Clans_GetProperties *message)
  817. {
  818. FxResponseArgs<2> rargs;
  819. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  820. rargs.Add(message->description.C_String());
  821. FxDelegate::Invoke2(movie, "c2f_Clans_GetProperties", rargs);
  822. }
  823. void Lobby2ClientGFx3Impl::MessageResult(Clans_SetMyMemberProperties *message)
  824. {
  825. FxResponseArgs<1> rargs;
  826. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  827. FxDelegate::Invoke2(movie, "c2f_Clans_SetMyMemberProperties", rargs);
  828. }
  829. void Lobby2ClientGFx3Impl::MessageResult(Clans_GrantLeader *message)
  830. {
  831. FxResponseArgs<1> rargs;
  832. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  833. FxDelegate::Invoke2(movie, "c2f_Clans_GrantLeader", rargs);
  834. }
  835. void Lobby2ClientGFx3Impl::MessageResult(Clans_SetSubleaderStatus *message)
  836. {
  837. FxResponseArgs<1> rargs;
  838. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  839. FxDelegate::Invoke2(movie, "c2f_Clans_SetSubleaderStatus", rargs);
  840. }
  841. void Lobby2ClientGFx3Impl::MessageResult(Clans_SetMemberRank *message)
  842. {
  843. FxResponseArgs<1> rargs;
  844. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  845. FxDelegate::Invoke2(movie, "c2f_Clans_SetMemberRank", rargs);
  846. }
  847. void Lobby2ClientGFx3Impl::MessageResult(Clans_GetMemberProperties *message)
  848. {
  849. FxResponseArgs<6> rargs;
  850. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  851. rargs.Add(message->description.C_String());
  852. rargs.Add((Double)message->rank);
  853. rargs.Add(message->isSubleader);
  854. switch (message->clanMemberState)
  855. {
  856. case CMD_UNDEFINED:
  857. rargs.Add("CMD_UNDEFINED");
  858. break;
  859. case CMD_ACTIVE:
  860. rargs.Add("CMD_ACTIVE");
  861. break;
  862. case CMD_BANNED:
  863. rargs.Add("CMD_BANNED");
  864. break;
  865. case CMD_JOIN_INVITED:
  866. rargs.Add("CMD_JOIN_INVITED");
  867. break;
  868. case CMD_JOIN_REQUESTED:
  869. rargs.Add("CMD_JOIN_REQUESTED");
  870. break;
  871. }
  872. rargs.Add(message->banReason.C_String());
  873. FxDelegate::Invoke2(movie, "c2f_Clans_GetMemberProperties", rargs);
  874. }
  875. void Lobby2ClientGFx3Impl::MessageResult(Clans_ChangeHandle *message)
  876. {
  877. FxResponseArgs<1> rargs;
  878. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  879. FxDelegate::Invoke2(movie, "c2f_Clans_ChangeHandle", rargs);
  880. }
  881. void Lobby2ClientGFx3Impl::MessageResult(Clans_Leave *message)
  882. {
  883. FxResponseArgs<3> rargs;
  884. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  885. rargs.Add(message->wasDissolved);
  886. rargs.Add(message->newClanLeader.C_String());
  887. FxDelegate::Invoke2(movie, "c2f_Clans_Leave", rargs);
  888. }
  889. void Lobby2ClientGFx3Impl::MessageResult(Clans_Get *message)
  890. {
  891. FxResponseArgsList rargs;
  892. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  893. rargs.Add((Double)message->clans.Size());
  894. for (unsigned int i=0; i < message->clans.Size(); i++)
  895. {
  896. rargs.Add(message->clans[i].clanName.C_String());
  897. rargs.Add(message->clans[i].description.C_String());
  898. rargs.Add(message->clans[i].clanLeader.C_String());
  899. rargs.Add((Double)message->clans[i].clanMembersOtherThanLeader.Size());
  900. for (unsigned int j=0; j < message->clans[i].clanMembersOtherThanLeader.Size(); j++)
  901. rargs.Add(message->clans[i].clanMembersOtherThanLeader[j].C_String());
  902. }
  903. FxDelegate::Invoke2(movie, "c2f_Clans_Get", rargs);
  904. }
  905. void Lobby2ClientGFx3Impl::MessageResult(Clans_SendJoinInvitation *message)
  906. {
  907. FxResponseArgs<1> rargs;
  908. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  909. FxDelegate::Invoke2(movie, "c2f_Clans_SendJoinInvitation", rargs);
  910. }
  911. void Lobby2ClientGFx3Impl::MessageResult(Clans_WithdrawJoinInvitation *message)
  912. {
  913. FxResponseArgs<1> rargs;
  914. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  915. FxDelegate::Invoke2(movie, "c2f_Clans_WithdrawJoinInvitation", rargs);
  916. }
  917. void Lobby2ClientGFx3Impl::MessageResult(Clans_AcceptJoinInvitation *message)
  918. {
  919. FxResponseArgs<1> rargs;
  920. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  921. FxDelegate::Invoke2(movie, "c2f_Clans_AcceptJoinInvitation", rargs);
  922. }
  923. void Lobby2ClientGFx3Impl::MessageResult(Clans_RejectJoinInvitation *message)
  924. {
  925. FxResponseArgs<1> rargs;
  926. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  927. FxDelegate::Invoke2(movie, "c2f_Clans_RejectJoinInvitation", rargs);
  928. }
  929. void Lobby2ClientGFx3Impl::MessageResult(Clans_DownloadInvitationList *message)
  930. {
  931. FxResponseArgsList rargs;
  932. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  933. rargs.Add((Double) message->invitationsSentToMe.Size());
  934. for (unsigned int i=0; i < message->invitationsSentToMe.Size(); i++)
  935. {
  936. rargs.Add(message->invitationsSentToMe[i].clanHandle.C_String());
  937. }
  938. rargs.Add((Double) message->usersThatHaveAnInvitationFromClansThatIAmAMemberOf.Size());
  939. for (unsigned int i=0; i < message->usersThatHaveAnInvitationFromClansThatIAmAMemberOf.Size(); i++)
  940. {
  941. rargs.Add(message->usersThatHaveAnInvitationFromClansThatIAmAMemberOf[i].sourceClan.C_String());
  942. rargs.Add(message->usersThatHaveAnInvitationFromClansThatIAmAMemberOf[i].dateSent.C_String());
  943. rargs.Add(message->usersThatHaveAnInvitationFromClansThatIAmAMemberOf[i].joinRequestTarget.C_String());
  944. }
  945. FxDelegate::Invoke2(movie, "c2f_Clans_DownloadInvitationList", rargs);
  946. }
  947. void Lobby2ClientGFx3Impl::MessageResult(Clans_SendJoinRequest *message)
  948. {
  949. FxResponseArgs<2> rargs;
  950. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  951. rargs.Add(message->clanJoined);
  952. FxDelegate::Invoke2(movie, "c2f_Clans_SendJoinRequest", rargs);
  953. }
  954. void Lobby2ClientGFx3Impl::MessageResult(Clans_WithdrawJoinRequest *message)
  955. {
  956. FxResponseArgs<1> rargs;
  957. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  958. FxDelegate::Invoke2(movie, "c2f_Clans_WithdrawJoinRequest", rargs);
  959. }
  960. void Lobby2ClientGFx3Impl::MessageResult(Clans_AcceptJoinRequest *message)
  961. {
  962. FxResponseArgs<1> rargs;
  963. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  964. FxDelegate::Invoke2(movie, "c2f_Clans_AcceptJoinRequest", rargs);
  965. }
  966. void Lobby2ClientGFx3Impl::MessageResult(Clans_RejectJoinRequest *message)
  967. {
  968. FxResponseArgs<1> rargs;
  969. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  970. FxDelegate::Invoke2(movie, "c2f_Clans_RejectJoinRequest", rargs);
  971. }
  972. void Lobby2ClientGFx3Impl::MessageResult(Clans_DownloadRequestList *message)
  973. {
  974. FxResponseArgsList rargs;
  975. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  976. rargs.Add((Double)message->joinRequestsToMyClan.Size());
  977. rargs.Add((Double)message->joinRequestsFromMe.Size());
  978. for (unsigned int i=0; i < message->joinRequestsToMyClan.Size(); i++)
  979. {
  980. rargs.Add(message->joinRequestsToMyClan[i].targetClan.C_String());
  981. rargs.Add(message->joinRequestsToMyClan[i].dateSent.C_String());
  982. rargs.Add(message->joinRequestsToMyClan[i].joinRequestSender.C_String());
  983. }
  984. for (unsigned int i=0; i < message->joinRequestsFromMe.Size(); i++)
  985. {
  986. rargs.Add(message->joinRequestsFromMe[i].targetClan.C_String());
  987. rargs.Add(message->joinRequestsFromMe[i].dateSent.C_String());
  988. rargs.Add(message->joinRequestsFromMe[i].joinRequestSender.C_String());
  989. }
  990. FxDelegate::Invoke2(movie, "c2f_Clans_DownloadRequestList", rargs);
  991. }
  992. void Lobby2ClientGFx3Impl::MessageResult(Clans_KickAndBlacklistUser *message)
  993. {
  994. FxResponseArgs<1> rargs;
  995. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  996. FxDelegate::Invoke2(movie, "c2f_Clans_KickAndBlacklistUser", rargs);
  997. }
  998. void Lobby2ClientGFx3Impl::MessageResult(Clans_UnblacklistUser *message)
  999. {
  1000. FxResponseArgs<1> rargs;
  1001. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  1002. FxDelegate::Invoke2(movie, "c2f_Clans_UnblacklistUser", rargs);
  1003. }
  1004. void Lobby2ClientGFx3Impl::MessageResult(Clans_GetBlacklist *message)
  1005. {
  1006. FxResponseArgsList rargs;
  1007. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  1008. for (unsigned int i=0; i < message->blacklistedUsers.Size(); i++)
  1009. rargs.Add(message->blacklistedUsers[i].C_String());
  1010. FxDelegate::Invoke2(movie, "c2f_Clans_GetBlacklist", rargs);
  1011. }
  1012. void Lobby2ClientGFx3Impl::MessageResult(Clans_GetMembers *message)
  1013. {
  1014. FxResponseArgsList rargs;
  1015. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  1016. rargs.Add(message->clanLeader.C_String());
  1017. for (unsigned int i=0; i < message->clanMembersOtherThanLeader.Size(); i++)
  1018. rargs.Add(message->clanMembersOtherThanLeader[i].C_String());
  1019. FxDelegate::Invoke2(movie, "c2f_Clans_GetMembers", rargs);
  1020. }
  1021. void Lobby2ClientGFx3Impl::MessageResult(Clans_GetList *message)
  1022. {
  1023. FxResponseArgsList rargs;
  1024. rargs.Add(Lobby2ResultCodeDescription::ToEnglish(message->resultCode));
  1025. for (unsigned int i=0; i < message->clanNames.Size(); i++)
  1026. rargs.Add(message->clanNames[i].C_String());
  1027. FxDelegate::Invoke2(movie, "c2f_Clans_GetList", rargs);
  1028. }
  1029. void Lobby2ClientGFx3Impl::MessageResult(Notification_Client_RemoteLogin *message)
  1030. {
  1031. FxResponseArgs<1> rargs;
  1032. rargs.Add(message->handle.C_String());
  1033. FxDelegate::Invoke2(movie, "c2f_Notification_Client_RemoteLogin", rargs);
  1034. }
  1035. void Lobby2ClientGFx3Impl::MessageResult(Notification_Client_IgnoreStatus *message)
  1036. {
  1037. FxResponseArgs<2> rargs;
  1038. rargs.Add(message->nowIgnored);
  1039. rargs.Add(message->otherHandle.C_String());
  1040. FxDelegate::Invoke2(movie, "c2f_Notification_Client_IgnoreStatus", rargs);
  1041. }
  1042. void Lobby2ClientGFx3Impl::MessageResult(Notification_Friends_StatusChange *message)
  1043. {
  1044. FxResponseArgs<2> rargs;
  1045. switch (message->op)
  1046. {
  1047. case Notification_Friends_StatusChange::FRIEND_LOGGED_IN:
  1048. rargs.Add("FRIEND_LOGGED_IN");
  1049. break;
  1050. case Notification_Friends_StatusChange::FRIEND_LOGGED_IN_DIFFERENT_CONTEXT:
  1051. rargs.Add("FRIEND_LOGGED_IN_DIFFERENT_CONTEXT");
  1052. break;
  1053. case Notification_Friends_StatusChange::FRIEND_LOGGED_OFF:
  1054. rargs.Add("FRIEND_LOGGED_OFF");
  1055. break;
  1056. case Notification_Friends_StatusChange::FRIEND_ACCOUNT_WAS_DELETED:
  1057. rargs.Add("FRIEND_ACCOUNT_WAS_DELETED");
  1058. break;
  1059. case Notification_Friends_StatusChange::YOU_WERE_REMOVED_AS_A_FRIEND:
  1060. rargs.Add("YOU_WERE_REMOVED_AS_A_FRIEND");
  1061. break;
  1062. case Notification_Friends_StatusChange::GOT_INVITATION_TO_BE_FRIENDS:
  1063. rargs.Add("GOT_INVITATION_TO_BE_FRIENDS");
  1064. break;
  1065. case Notification_Friends_StatusChange::THEY_ACCEPTED_OUR_INVITATION_TO_BE_FRIENDS:
  1066. rargs.Add("THEY_ACCEPTED_OUR_INVITATION_TO_BE_FRIENDS");
  1067. break;
  1068. case Notification_Friends_StatusChange::THEY_REJECTED_OUR_INVITATION_TO_BE_FRIENDS:
  1069. rargs.Add("THEY_REJECTED_OUR_INVITATION_TO_BE_FRIENDS");
  1070. break;
  1071. }
  1072. rargs.Add(message->otherHandle.C_String());
  1073. FxDelegate::Invoke2(movie, "c2f_Notification_Friends_StatusChange", rargs);
  1074. }
  1075. void Lobby2ClientGFx3Impl::MessageResult(Notification_User_ChangedHandle *message)
  1076. {
  1077. FxResponseArgs<2> rargs;
  1078. rargs.Add(message->oldHandle.C_String());
  1079. rargs.Add(message->newHandle.C_String());
  1080. FxDelegate::Invoke2(movie, "c2f_Notification_User_ChangedHandle", rargs);
  1081. }
  1082. void Lobby2ClientGFx3Impl::MessageResult(Notification_Friends_CreatedClan *message)
  1083. {
  1084. FxResponseArgs<2> rargs;
  1085. rargs.Add(message->otherHandle.C_String());
  1086. rargs.Add(message->clanName.C_String());
  1087. FxDelegate::Invoke2(movie, "c2f_Notification_Friends_CreatedClan", rargs);
  1088. }
  1089. void Lobby2ClientGFx3Impl::MessageResult(Notification_Emails_Received *message)
  1090. {
  1091. FxResponseArgs<3> rargs;
  1092. rargs.Add(message->sender.C_String());
  1093. rargs.Add(message->subject.C_String());
  1094. rargs.Add((Double)message->emailId);
  1095. FxDelegate::Invoke2(movie, "c2f_Notification_Emails_Received", rargs);
  1096. }
  1097. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_GrantLeader *message)
  1098. {
  1099. FxResponseArgs<3> rargs;
  1100. rargs.Add(message->clanHandle.C_String());
  1101. rargs.Add(message->newLeader.C_String());
  1102. rargs.Add(message->oldLeader.C_String());
  1103. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_GrantLeader", rargs);
  1104. }
  1105. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_SetSubleaderStatus *message)
  1106. {
  1107. FxResponseArgs<4> rargs;
  1108. rargs.Add(message->clanHandle.C_String());
  1109. rargs.Add(message->targetHandle.C_String());
  1110. rargs.Add(message->leaderHandle.C_String());
  1111. rargs.Add(message->setToSubleader);
  1112. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_SetSubleaderStatus", rargs);
  1113. }
  1114. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_SetMemberRank *message)
  1115. {
  1116. FxResponseArgs<4> rargs;
  1117. rargs.Add(message->clanHandle.C_String());
  1118. rargs.Add(message->targetHandle.C_String());
  1119. rargs.Add(message->leaderHandle.C_String());
  1120. rargs.Add((Double)message->newRank);
  1121. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_SetMemberRank", rargs);
  1122. }
  1123. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_ChangeHandle *message)
  1124. {
  1125. FxResponseArgs<3> rargs;
  1126. rargs.Add(message->oldClanHandle.C_String());
  1127. rargs.Add(message->newClanHandle.C_String());
  1128. rargs.Add(message->leaderHandle.C_String());
  1129. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_ChangeHandle", rargs);
  1130. }
  1131. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_Leave *message)
  1132. {
  1133. FxResponseArgs<2> rargs;
  1134. rargs.Add(message->clanHandle.C_String());
  1135. rargs.Add(message->targetHandle.C_String());
  1136. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_Leave", rargs);
  1137. }
  1138. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_PendingJoinStatus *message)
  1139. {
  1140. FxResponseArgs<6> rargs;
  1141. rargs.Add(message->clanHandle.C_String());
  1142. rargs.Add(message->sourceHandle.C_String());
  1143. rargs.Add(message->targetHandle.C_String());
  1144. rargs.Add(message->clanMemberHandle.C_String());
  1145. switch (message->majorOp)
  1146. {
  1147. case Notification_Clans_PendingJoinStatus::JOIN_CLAN_INVITATION:
  1148. rargs.Add("JOIN_CLAN_INVITATION");
  1149. break;
  1150. case Notification_Clans_PendingJoinStatus::JOIN_CLAN_REQUEST:
  1151. rargs.Add("JOIN_CLAN_REQUEST");
  1152. break;
  1153. }
  1154. switch (message->minorOp)
  1155. {
  1156. case Notification_Clans_PendingJoinStatus::JOIN_SENT:
  1157. rargs.Add("JOIN_SENT");
  1158. break;
  1159. case Notification_Clans_PendingJoinStatus::JOIN_WITHDRAWN:
  1160. rargs.Add("JOIN_WITHDRAWN");
  1161. break;
  1162. case Notification_Clans_PendingJoinStatus::JOIN_REJECTED:
  1163. rargs.Add("JOIN_REJECTED");
  1164. break;
  1165. }
  1166. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_PendingJoinStatus", rargs);
  1167. }
  1168. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_NewClanMember *message)
  1169. {
  1170. FxResponseArgs<2> rargs;
  1171. rargs.Add(message->clanHandle.C_String());
  1172. rargs.Add(message->targetHandle.C_String());
  1173. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_NewClanMember", rargs);
  1174. }
  1175. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_KickAndBlacklistUser *message)
  1176. {
  1177. FxResponseArgs<5> rargs;
  1178. rargs.Add(message->clanHandle.C_String());
  1179. rargs.Add(message->targetHandle.C_String());
  1180. rargs.Add(message->blacklistingUserHandle.C_String());
  1181. rargs.Add(message->targetHandleWasKicked);
  1182. rargs.Add(message->reason.C_String());
  1183. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_KickAndBlacklistUser", rargs);
  1184. }
  1185. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_UnblacklistUser *message)
  1186. {
  1187. FxResponseArgs<3> rargs;
  1188. rargs.Add(message->clanHandle.C_String());
  1189. rargs.Add(message->targetHandle.C_String());
  1190. rargs.Add(message->unblacklistingUserHandle.C_String());
  1191. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_UnblacklistUser", rargs);
  1192. }
  1193. void Lobby2ClientGFx3Impl::MessageResult(Notification_Clans_Destroyed *message)
  1194. {
  1195. FxResponseArgs<2> rargs;
  1196. rargs.Add(message->clanHandle.C_String());
  1197. rargs.Add(message->oldClanLeader.C_String());
  1198. FxDelegate::Invoke2(movie, "c2f_Notification_Clans_Destroyed", rargs);
  1199. }
  1200. void Lobby2ClientGFx3Impl::Accept(CallbackProcessor* cbreg)
  1201. {
  1202. cbreg->Process( "f2c_ResetDatabase", &::f2c_ResetDatabase );
  1203. cbreg->Process( "f2c_Connect", &::f2c_Connect );
  1204. cbreg->Process( "f2c_RecoverPasswordByUsername", &::f2c_RecoverPasswordByUsername );
  1205. cbreg->Process( "f2c_GetPasswordByPasswordRecoveryAnswer", &::f2c_GetPasswordByPasswordRecoveryAnswer );
  1206. cbreg->Process( "f2c_RegisterAccountStateQuery", &::f2c_RegisterAccountStateQuery );
  1207. cbreg->Process( "f2c_DeleteAccount", &::f2c_DeleteAccount );
  1208. cbreg->Process( "f2c_LoginToAccount", &::f2c_LoginToAccount );
  1209. cbreg->Process( "f2c_GetAccountDetails", &::f2c_GetAccountDetails );
  1210. cbreg->Process( "f2c_DisconnectFromServer", &::f2c_DisconnectFromServer );
  1211. cbreg->Process( "f2c_CheckCDKey", &::f2c_CheckCDKey );
  1212. cbreg->Process( "f2c_RegisterAccount", &::f2c_RegisterAccount );
  1213. cbreg->Process( "f2c_ValidateHandle", &::f2c_ValidateHandle );
  1214. cbreg->Process( "f2c_ChangeHandle", &::f2c_ChangeHandle );
  1215. cbreg->Process( "f2c_Logoff", &::f2c_Logoff );
  1216. cbreg->Process( "f2c_UpdateAccount", &::f2c_UpdateAccount );
  1217. cbreg->Process( "f2c_StartIgnore", &::f2c_StartIgnore );
  1218. cbreg->Process( "f2c_StopIgnore", &::f2c_StopIgnore );
  1219. cbreg->Process( "f2c_GetIgnoreList", &::f2c_GetIgnoreList );
  1220. cbreg->Process( "f2c_SendInvite", &::f2c_SendInvite );
  1221. cbreg->Process( "f2c_AcceptInvite", &::f2c_AcceptInvite );
  1222. cbreg->Process( "f2c_RejectInvite", &::f2c_RejectInvite );
  1223. cbreg->Process( "f2c_RemoveFriend", &::f2c_RemoveFriend );
  1224. cbreg->Process( "f2c_GetFriendInvites", &::f2c_GetFriendInvites );
  1225. cbreg->Process( "f2c_GetFriends", &::f2c_GetFriends );
  1226. cbreg->Process( "f2c_SendEmail", &::f2c_SendEmail );
  1227. cbreg->Process( "f2c_DeleteEmail", &::f2c_DeleteEmail );
  1228. cbreg->Process( "f2c_UpdateEmail", &::f2c_UpdateEmail );
  1229. cbreg->Process( "f2c_GetEmails", &::f2c_GetEmails );
  1230. cbreg->Process( "f2c_Clans_Create", &::f2c_Clans_Create );
  1231. cbreg->Process( "f2c_Clans_SetProperties", &::f2c_Clans_SetProperties );
  1232. cbreg->Process( "f2c_Clans_GetProperties", &::f2c_Clans_GetProperties );
  1233. cbreg->Process( "f2c_Clans_SetMyMemberProperties", &::f2c_Clans_SetMyMemberProperties );
  1234. cbreg->Process( "f2c_Clans_GrantLeader", &::f2c_Clans_GrantLeader );
  1235. cbreg->Process( "f2c_Clans_SetSubleaderStatus", &::f2c_Clans_SetSubleaderStatus );
  1236. cbreg->Process( "f2c_Clans_SetMemberRank", &::f2c_Clans_SetMemberRank );
  1237. cbreg->Process( "f2c_Clans_GetMemberProperties", &::f2c_Clans_GetMemberProperties );
  1238. cbreg->Process( "f2c_Clans_ChangeHandle", &::f2c_Clans_ChangeHandle );
  1239. cbreg->Process( "f2c_Clans_Leave", &::f2c_Clans_Leave );
  1240. cbreg->Process( "f2c_Clans_Get", &::f2c_Clans_Get );
  1241. cbreg->Process( "f2c_Clans_SendJoinInvitation", &::f2c_Clans_SendJoinInvitation );
  1242. cbreg->Process( "f2c_Clans_WithdrawJoinInvitation", &::f2c_Clans_WithdrawJoinInvitation );
  1243. cbreg->Process( "f2c_Clans_AcceptJoinInvitation", &::f2c_Clans_AcceptJoinInvitation );
  1244. cbreg->Process( "f2c_Clans_RejectJoinInvitation", &::f2c_Clans_RejectJoinInvitation );
  1245. cbreg->Process( "f2c_Clans_DownloadInvitationList", &::f2c_Clans_DownloadInvitationList );
  1246. cbreg->Process( "f2c_Clans_SendJoinRequest", &::f2c_Clans_SendJoinRequest );
  1247. cbreg->Process( "f2c_Clans_WithdrawJoinRequest", &::f2c_Clans_WithdrawJoinRequest );
  1248. cbreg->Process( "f2c_Clans_AcceptJoinRequest", &::f2c_Clans_AcceptJoinRequest );
  1249. cbreg->Process( "f2c_Clans_RejectJoinRequest", &::f2c_Clans_RejectJoinRequest );
  1250. cbreg->Process( "f2c_Clans_DownloadRequestList", &::f2c_Clans_DownloadRequestList );
  1251. cbreg->Process( "f2c_Clans_KickAndBlacklistUser", &::f2c_Clans_KickAndBlacklistUser );
  1252. cbreg->Process( "f2c_Clans_UnblacklistUser", &::f2c_Clans_UnblacklistUser );
  1253. cbreg->Process( "f2c_Clans_GetBlacklist", &::f2c_Clans_GetBlacklist );
  1254. cbreg->Process( "f2c_Clans_GetMembers", &::f2c_Clans_GetMembers );
  1255. cbreg->Process( "f2c_Clans_GetList", &::f2c_Clans_GetList );
  1256. cbreg->Process( "openSite", &Lobby2ClientGFx3Impl::OpenSite );
  1257. }
  1258. void Lobby2ClientGFx3Impl::OnClosedConnection(const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason )
  1259. {
  1260. if (systemAddress==lobby2Client->GetServerAddress())
  1261. {
  1262. // lost connection
  1263. FxResponseArgs<1> rargs;
  1264. switch (lostConnectionReason)
  1265. {
  1266. case LCR_CLOSED_BY_USER:
  1267. rargs.Add("LCR_CLOSED_BY_USER");
  1268. break;
  1269. case LCR_DISCONNECTION_NOTIFICATION:
  1270. rargs.Add("LCR_DISCONNECTION_NOTIFICATION");
  1271. break;
  1272. case LCR_CONNECTION_LOST:
  1273. rargs.Add("LCR_CONNECTION_LOST");
  1274. break;
  1275. }
  1276. FxDelegate::Invoke2(movie, "c2f_NotifyConnectionLost", rargs);
  1277. }
  1278. }
  1279. void Lobby2ClientGFx3Impl::OnNewConnection(const SystemAddress &systemAddress, RakNetGUID rakNetGUID, bool isIncoming)
  1280. {
  1281. if (systemAddress==lobby2Client->GetServerAddress())
  1282. {
  1283. // is connected
  1284. FxResponseArgs<0> rargs;
  1285. FxDelegate::Invoke2(movie, "c2f_NotifyConnectionResultSuccess", rargs);
  1286. }
  1287. }
  1288. void Lobby2ClientGFx3Impl::OnFailedConnectionAttempt(Packet *packet, PI2_FailedConnectionAttemptReason failedConnectionAttemptReason)
  1289. {
  1290. if (packet->systemAddress==lobby2Client->GetServerAddress())
  1291. {
  1292. // isn't connected
  1293. FxResponseArgs<1> rargs;
  1294. switch(failedConnectionAttemptReason)
  1295. {
  1296. case FCAR_CONNECTION_ATTEMPT_FAILED:
  1297. rargs.Add("FCAR_CONNECTION_ATTEMPT_FAILED");
  1298. break;
  1299. case FCAR_ALREADY_CONNECTED:
  1300. rargs.Add("FCAR_ALREADY_CONNECTED");
  1301. break;
  1302. case FCAR_NO_FREE_INCOMING_CONNECTIONS:
  1303. rargs.Add("FCAR_NO_FREE_INCOMING_CONNECTIONS");
  1304. break;
  1305. case FCAR_SECURITY_PUBLIC_KEY_MISMATCH:
  1306. rargs.Add("FCAR_SECURITY_PUBLIC_KEY_MISMATCH");
  1307. break;
  1308. case FCAR_CONNECTION_BANNED:
  1309. rargs.Add("FCAR_CONNECTION_BANNED");
  1310. break;
  1311. case FCAR_INVALID_PASSWORD:
  1312. rargs.Add("FCAR_INVALID_PASSWORD");
  1313. break;
  1314. case FCAR_INCOMPATIBLE_PROTOCOL:
  1315. rargs.Add("FCAR_INCOMPATIBLE_PROTOCOL");
  1316. break;
  1317. case FCAR_IP_RECENTLY_CONNECTED:
  1318. rargs.Add("FCAR_IP_RECENTLY_CONNECTED");
  1319. break;
  1320. case FCAR_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY:
  1321. rargs.Add("FCAR_REMOTE_SYSTEM_REQUIRES_PUBLIC_KEY");
  1322. break;
  1323. case FCAR_OUR_SYSTEM_REQUIRES_SECURITY:
  1324. rargs.Add("FCAR_OUR_SYSTEM_REQUIRES_SECURITY");
  1325. break;
  1326. case FCAR_PUBLIC_KEY_MISMATCH:
  1327. rargs.Add("FCAR_PUBLIC_KEY_MISMATCH");
  1328. break;
  1329. }
  1330. FxDelegate::Invoke2(movie, "c2f_NotifyConnectionResultFailure", rargs);
  1331. }
  1332. }
  1333. void Lobby2ClientGFx3Impl::OpenSite(const FxDelegateArgs& pparams)
  1334. {
  1335. Lobby2ClientGFx3Impl* prt = (Lobby2ClientGFx3Impl*)pparams.GetHandler();
  1336. const char *siteType = pparams[0].GetString();
  1337. ShellExecute(NULL, "open", siteType,NULL, NULL, SW_SHOWNORMAL);
  1338. }
粤ICP备19079148号