AktionsThread.cpp 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768
  1. #include "AktionsThread.h"
  2. #include "..\Global\Variablen.h"
  3. #include <Zeit.h>
  4. // Inhalt der AktionsThread Klasse aus AktionsThread.h
  5. // Konstruktor
  6. AktionsThread::AktionsThread(int aktion, const void* arg1, const void* arg2, const void* arg3, const void* arg4, const void* arg5)
  7. : Thread()
  8. {
  9. this->aktion = aktion;
  10. this->arg1 = arg1;
  11. this->arg2 = arg2;
  12. this->arg3 = arg3;
  13. this->arg4 = arg4;
  14. this->arg5 = arg5;
  15. start();
  16. }
  17. // nicht constant
  18. void AktionsThread::thread()
  19. {
  20. switch (aktion)
  21. {
  22. case 1: // Login
  23. // arg1 = char* -- Account Name
  24. // arg2 = char* -- Account Passwort
  25. if (1)
  26. {
  27. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  28. uiFactory.initParam.bildschirm->setOnTop(1);
  29. ladeAnimation->setSichtbar(1);
  30. int ret = 0;
  31. if (!loginClient)
  32. loginClient = mainClient->createLoginServerClient();
  33. do
  34. {
  35. if (!loginClient)
  36. {
  37. lastError = mainClient->getLetzterFehler();
  38. continue;
  39. }
  40. if (!loginClient->verbinde())
  41. {
  42. lastError = loginClient->getLetzterFehler();
  43. continue;
  44. }
  45. ret = loginClient->login((const char*)arg1, (const char*)arg2);
  46. if (ret != 1)
  47. {
  48. lastError = loginClient->getLetzterFehler();
  49. continue;
  50. }
  51. if (!infoClient)
  52. infoClient = mainClient->createInformationServerClient();
  53. if (!infoClient)
  54. {
  55. ret = 0;
  56. lastError = mainClient->getLetzterFehler();
  57. loginClient->logout();
  58. continue;
  59. }
  60. if (!infoClient->verbinde())
  61. {
  62. ret = 0;
  63. lastError = mainClient->getLetzterFehler();
  64. lastError = infoClient->getLetzterFehler();
  65. loginClient->logout();
  66. continue;
  67. }
  68. if (!chatClient)
  69. chatClient = mainClient->createChatServerClient();
  70. if (!chatClient)
  71. {
  72. ret = 0;
  73. lastError = mainClient->getLetzterFehler();
  74. loginClient->logout();
  75. continue;
  76. }
  77. if (!chatClient->verbinde())
  78. {
  79. ret = 0;
  80. loginClient->logout();
  81. infoClient->trenne(0);
  82. lastError = chatClient->getLetzterFehler();
  83. continue;
  84. }
  85. if (cmProcessor)
  86. cmProcessor = (ChatMessageProcessor*)cmProcessor->release();
  87. cmProcessor = new ChatMessageProcessor();
  88. loginClient->trenne(0);
  89. } while (0);
  90. ladeAnimation->setSichtbar(0);
  91. uiFactory.initParam.bildschirm->setOnTop(0);
  92. vorLogin->zLogin()->setLoginReturn(ret);
  93. }
  94. break;
  95. case 2: // Login Erfolgreich
  96. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  97. uiFactory.initParam.bildschirm->setOnTop(1);
  98. ladeAnimation->setSichtbar(1);
  99. for (unsigned char deckAlpha = 0; deckAlpha < 255; )
  100. {
  101. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  102. Sleep(40);
  103. deckAlpha += 15;
  104. }
  105. uiFactory.initParam.bildschirm->setdeckFarbe(255 << 24);
  106. uiFactory.initParam.bildschirm->setRenderZeichnungen(0);
  107. vorLogin->setSichtbar(0);
  108. nachLogin->setAnzeige(NLANormal);
  109. uiFactory.initParam.bildschirm->setRenderZeichnungen(1);
  110. ladeAnimation->setSichtbar(0);
  111. for (unsigned char deckAlpha = 255; deckAlpha > 0; )
  112. {
  113. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  114. Sleep(40);
  115. deckAlpha -= 15;
  116. }
  117. uiFactory.initParam.bildschirm->setdeckFarbe(0 << 24);
  118. uiFactory.initParam.bildschirm->setOnTop(0);
  119. break;
  120. case 3: // Kick
  121. // arg1 = char* -- Account Name
  122. // arg2 = char* -- Account Passwort
  123. // arg3 = char* -- Account Geheimnis
  124. if (1)
  125. {
  126. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  127. uiFactory.initParam.bildschirm->setOnTop(1);
  128. ladeAnimation->setSichtbar(1);
  129. int ret = 0;
  130. if (!loginClient)
  131. loginClient = mainClient->createLoginServerClient();
  132. do
  133. {
  134. if (!loginClient)
  135. {
  136. lastError = mainClient->getLetzterFehler();
  137. continue;
  138. }
  139. if (!loginClient->verbinde())
  140. {
  141. lastError = loginClient->getLetzterFehler();
  142. continue;
  143. }
  144. ret = (int)loginClient->kick((const char*)arg1, (const char*)arg2, (const char*)arg3);
  145. if (!ret)
  146. {
  147. lastError = loginClient->getLetzterFehler();
  148. continue;
  149. }
  150. if (!infoClient)
  151. infoClient = mainClient->createInformationServerClient();
  152. if (!infoClient)
  153. {
  154. ret = 2;
  155. lastError = mainClient->getLetzterFehler();
  156. loginClient->logout();
  157. continue;
  158. }
  159. if (!infoClient->verbinde())
  160. {
  161. ret = 2;
  162. lastError = infoClient->getLetzterFehler();
  163. loginClient->logout();
  164. continue;
  165. }
  166. if (!chatClient)
  167. chatClient = mainClient->createChatServerClient();
  168. if (!chatClient)
  169. {
  170. ret = 2;
  171. lastError = mainClient->getLetzterFehler();
  172. loginClient->logout();
  173. continue;
  174. }
  175. if (!chatClient->verbinde())
  176. {
  177. ret = 2;
  178. loginClient->logout();
  179. infoClient->trenne(0);
  180. lastError = chatClient->getLetzterFehler();
  181. continue;
  182. }
  183. if (cmProcessor)
  184. cmProcessor = (ChatMessageProcessor*)cmProcessor->release();
  185. cmProcessor = new ChatMessageProcessor();
  186. loginClient->trenne(0);
  187. } while (0);
  188. ladeAnimation->setSichtbar(0);
  189. uiFactory.initParam.bildschirm->setOnTop(0);
  190. vorLogin->zLogin()->setKickReturn(ret);
  191. }
  192. break;
  193. case 4: // Logout
  194. if (1)
  195. {
  196. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  197. uiFactory.initParam.bildschirm->setOnTop(1);
  198. ladeAnimation->setSichtbar(1);
  199. if (loginClient)
  200. {
  201. if (!loginClient->verbinde())
  202. {
  203. nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text("Das Ausloggen konnte nicht erfolgreich abgeschlossen werden."),
  204. new Text("Ok"), 0);
  205. ladeAnimation->setSichtbar(0);
  206. uiFactory.initParam.bildschirm->setOnTop(0);
  207. break;
  208. }
  209. bool ret = loginClient->logout();
  210. if (ret)
  211. {
  212. uiFactory.initParam.bildschirm->lock();
  213. nachLogin->zChatLeiste()->removeAll();
  214. nachLogin->zFreundesListe()->removeAll();
  215. nachLogin->zNachrichtenListe()->removeAll();
  216. uiFactory.initParam.bildschirm->unlock();
  217. if (infoClient)
  218. infoClient->trenne(0);
  219. if (spielClient)
  220. spielClient->trenne();
  221. if (smProcessor)
  222. smProcessor = (SpielMessageProcessor*)smProcessor->release();
  223. if (chatClient)
  224. chatClient->trenne(0);
  225. if (loginClient)
  226. loginClient->trenne(0);
  227. if (cmProcessor)
  228. cmProcessor = (ChatMessageProcessor*)cmProcessor->release();
  229. }
  230. else
  231. {
  232. nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text("Das Ausloggen konnte nicht erfolgreich abgeschlossen werden."),
  233. new Text("Ok"), 0);
  234. ladeAnimation->setSichtbar(0);
  235. uiFactory.initParam.bildschirm->setOnTop(0);
  236. break;
  237. }
  238. }
  239. ladeAnimation->setSichtbar(0);
  240. uiFactory.initParam.bildschirm->setOnTop(0);
  241. }
  242. case 5: // Logout Erfolgreich
  243. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  244. uiFactory.initParam.bildschirm->setOnTop(1);
  245. ladeAnimation->setSichtbar(1);
  246. for (unsigned char deckAlpha = 0; deckAlpha < 255; )
  247. {
  248. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  249. Sleep(40);
  250. deckAlpha += 15;
  251. }
  252. uiFactory.initParam.bildschirm->setdeckFarbe(255 << 24);
  253. _render = 0;
  254. uiFactory.initParam.bildschirm->lock();
  255. nachLogin->setAnzeige(NLALogin);
  256. vorLogin->setSichtbar(1);
  257. uiFactory.initParam.bildschirm->unlock();
  258. _render = 1;
  259. ladeAnimation->setSichtbar(0);
  260. for (unsigned char deckAlpha = 255; deckAlpha > 0; )
  261. {
  262. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  263. Sleep(40);
  264. deckAlpha -= 15;
  265. }
  266. uiFactory.initParam.bildschirm->setdeckFarbe(0 << 24);
  267. uiFactory.initParam.bildschirm->setOnTop(0);
  268. break;
  269. case 8: // Account E-Mail ändern
  270. // arg1 = char* -- Account Name
  271. // arg2 = char* -- Account Passwort
  272. // arg3 = char* -- Account Geheimnis
  273. // arg4 = char* -- Neue E-Mail
  274. if (1)
  275. {
  276. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  277. uiFactory.initParam.bildschirm->setOnTop(1);
  278. ladeAnimation->setSichtbar(1);
  279. int ret = 0;
  280. if (!registerClient)
  281. registerClient = mainClient->createRegisterServerClient();
  282. do
  283. {
  284. if (!registerClient)
  285. {
  286. lastError = mainClient->getLetzterFehler();
  287. continue;
  288. }
  289. if (!registerClient->verbinde())
  290. {
  291. lastError = registerClient->getLetzterFehler();
  292. continue;
  293. }
  294. ret = registerClient->eMailÄndern((const char*)arg1, (const char*)arg2, (const char*)arg3, (const char*)arg4);
  295. if (!ret)
  296. {
  297. lastError = registerClient->getLetzterFehler();
  298. continue;
  299. }
  300. } while (0);
  301. registerClient->trenne(0);
  302. ladeAnimation->setSichtbar(0);
  303. uiFactory.initParam.bildschirm->setOnTop(0);
  304. vorLogin->zEMailÄndern()->setReturn(ret);
  305. }
  306. break;
  307. case 9: // Account E-Mail Vergessen
  308. // arg1 = char* -- Account Name
  309. // arg2 = char* -- Account Passwort
  310. // arg3 = char* -- Account Geheimnis
  311. if (1)
  312. {
  313. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  314. uiFactory.initParam.bildschirm->setOnTop(1);
  315. ladeAnimation->setSichtbar(1);
  316. char* eMail = 0;
  317. char** pEMail = &eMail;
  318. int ret = 0;
  319. if (!registerClient)
  320. registerClient = mainClient->createRegisterServerClient();
  321. do
  322. {
  323. if (!registerClient)
  324. {
  325. lastError = mainClient->getLetzterFehler();
  326. continue;
  327. }
  328. if (!registerClient->verbinde())
  329. {
  330. lastError = registerClient->getLetzterFehler();
  331. continue;
  332. }
  333. ret = registerClient->eMailVergessen((const char*)arg1, (const char*)arg2, (const char*)arg3, pEMail);
  334. if (!ret)
  335. {
  336. lastError = registerClient->getLetzterFehler();
  337. continue;
  338. }
  339. } while (0);
  340. registerClient->trenne(0);
  341. ladeAnimation->setSichtbar(0);
  342. uiFactory.initParam.bildschirm->setOnTop(0);
  343. vorLogin->zEMailVergessen()->setReturn(ret, *pEMail);
  344. }
  345. break;
  346. case 10: // Account Geheimnis Ändern
  347. // arg1 = char* -- Account Name
  348. // arg2 = char* -- Account Passwort
  349. // arg3 = char* -- Account Geheimnis
  350. // arg4 = char* -- Neues Geheimnis
  351. if (1)
  352. {
  353. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  354. uiFactory.initParam.bildschirm->setOnTop(1);
  355. ladeAnimation->setSichtbar(1);
  356. int ret = 0;
  357. if (!registerClient)
  358. registerClient = mainClient->createRegisterServerClient();
  359. do
  360. {
  361. if (!registerClient)
  362. {
  363. lastError = mainClient->getLetzterFehler();
  364. continue;
  365. }
  366. if (!registerClient->verbinde())
  367. {
  368. lastError = registerClient->getLetzterFehler();
  369. continue;
  370. }
  371. ret = registerClient->geheimnisÄndern((const char*)arg1, (const char*)arg2, (const char*)arg3, (const char*)arg4);
  372. if (!ret)
  373. {
  374. lastError = registerClient->getLetzterFehler();
  375. continue;
  376. }
  377. } while (0);
  378. registerClient->trenne(0);
  379. ladeAnimation->setSichtbar(0);
  380. uiFactory.initParam.bildschirm->setOnTop(0);
  381. vorLogin->zGeheimnisÄndern()->setResult(ret);
  382. }
  383. break;
  384. case 11: // Account Geheimnis Vergessen
  385. // arg1 = char* -- Account Name
  386. // arg2 = char* -- Account Passwort
  387. if (1)
  388. {
  389. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  390. uiFactory.initParam.bildschirm->setOnTop(1);
  391. ladeAnimation->setSichtbar(1);
  392. int ret = 0;
  393. if (!registerClient)
  394. registerClient = mainClient->createRegisterServerClient();
  395. do
  396. {
  397. if (!registerClient)
  398. {
  399. lastError = mainClient->getLetzterFehler();
  400. continue;
  401. }
  402. if (!registerClient->verbinde())
  403. {
  404. lastError = registerClient->getLetzterFehler();
  405. continue;
  406. }
  407. ret = registerClient->geheimnisVergessen((const char*)arg1, (const char*)arg2);
  408. if (!ret)
  409. {
  410. lastError = registerClient->getLetzterFehler();
  411. continue;
  412. }
  413. } while (0);
  414. registerClient->trenne(0);
  415. ladeAnimation->setSichtbar(0);
  416. uiFactory.initParam.bildschirm->setOnTop(0);
  417. vorLogin->zGeheimnisVergessen()->setResult(ret);
  418. }
  419. break;
  420. case 12: // Account Name Vergessen
  421. // arg1 = char* -- Account Passwort
  422. // arg2 = char* -- Account Geheimnis
  423. if (1)
  424. {
  425. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  426. uiFactory.initParam.bildschirm->setOnTop(1);
  427. ladeAnimation->setSichtbar(1);
  428. int ret = 0;
  429. if (!registerClient)
  430. registerClient = mainClient->createRegisterServerClient();
  431. do
  432. {
  433. if (!registerClient)
  434. {
  435. lastError = mainClient->getLetzterFehler();
  436. continue;
  437. }
  438. if (!registerClient->verbinde())
  439. {
  440. lastError = registerClient->getLetzterFehler();
  441. continue;
  442. }
  443. ret = registerClient->nameVergessen((const char*)arg1, (const char*)arg2);
  444. if (!ret)
  445. {
  446. lastError = registerClient->getLetzterFehler();
  447. continue;
  448. }
  449. } while (0);
  450. registerClient->trenne(0);
  451. ladeAnimation->setSichtbar(0);
  452. uiFactory.initParam.bildschirm->setOnTop(0);
  453. vorLogin->zNameVergessen()->setResult(ret);
  454. }
  455. break;
  456. case 13: // Account Passwort Ändern
  457. // arg1 = char* -- Account Name
  458. // arg2 = char* -- Account Passwort
  459. // arg3 = char* -- Account Geheimnis
  460. // arg4 = char* -- Neues Passwort
  461. if (1)
  462. {
  463. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  464. uiFactory.initParam.bildschirm->setOnTop(1);
  465. ladeAnimation->setSichtbar(1);
  466. int ret = 0;
  467. if (!registerClient)
  468. registerClient = mainClient->createRegisterServerClient();
  469. do
  470. {
  471. if (!registerClient)
  472. {
  473. lastError = mainClient->getLetzterFehler();
  474. continue;
  475. }
  476. if (!registerClient->verbinde())
  477. {
  478. lastError = registerClient->getLetzterFehler();
  479. continue;
  480. }
  481. ret = registerClient->passwortÄndern((const char*)arg1, (const char*)arg2, (const char*)arg3, (const char*)arg4);
  482. if (!ret)
  483. {
  484. lastError = registerClient->getLetzterFehler();
  485. continue;
  486. }
  487. } while (0);
  488. registerClient->trenne(0);
  489. ladeAnimation->setSichtbar(0);
  490. uiFactory.initParam.bildschirm->setOnTop(0);
  491. vorLogin->zPasswortÄndern()->setResult(ret);
  492. }
  493. break;
  494. case 14: // Account Passwort Vergessen
  495. // arg1 = char* -- Account Name
  496. // arg2 = char* -- Account Geheimnis
  497. if (1)
  498. {
  499. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  500. uiFactory.initParam.bildschirm->setOnTop(1);
  501. ladeAnimation->setSichtbar(1);
  502. int ret = 0;
  503. if (!registerClient)
  504. registerClient = mainClient->createRegisterServerClient();
  505. do
  506. {
  507. if (!registerClient)
  508. {
  509. lastError = mainClient->getLetzterFehler();
  510. continue;
  511. }
  512. if (!registerClient->verbinde())
  513. {
  514. lastError = registerClient->getLetzterFehler();
  515. continue;
  516. }
  517. ret = registerClient->passwortVergessen((const char*)arg1, (const char*)arg2);
  518. if (!ret)
  519. {
  520. lastError = registerClient->getLetzterFehler();
  521. continue;
  522. }
  523. } while (0);
  524. registerClient->trenne(0);
  525. ladeAnimation->setSichtbar(0);
  526. uiFactory.initParam.bildschirm->setOnTop(0);
  527. vorLogin->zPasswortVergessen()->setResult(ret);
  528. }
  529. break;
  530. case 15: // Account Erstellen
  531. // arg1 = char* -- Account Name
  532. // arg2 = char* -- Account Passwort
  533. // arg3 = char* -- Account Geheimnis
  534. // arg4 = char* -- Account E-Mail
  535. // arg5 = Datum* -- Geburtsdatum
  536. if (1)
  537. {
  538. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  539. uiFactory.initParam.bildschirm->setOnTop(1);
  540. ladeAnimation->setSichtbar(1);
  541. int ret = 0;
  542. if (!registerClient)
  543. registerClient = mainClient->createRegisterServerClient();
  544. do
  545. {
  546. if (!registerClient)
  547. {
  548. lastError = mainClient->getLetzterFehler();
  549. continue;
  550. }
  551. if (!registerClient->verbinde())
  552. {
  553. lastError = registerClient->getLetzterFehler();
  554. continue;
  555. }
  556. ret = registerClient->accountErstellen((const char*)arg1,
  557. (const char*)arg2,
  558. (const char*)arg3,
  559. (const char*)arg4,
  560. (unsigned short)((Datum*)arg5)->getJahr(),
  561. (char)((Datum*)arg5)->getMonat(),
  562. (char)((Datum*)arg5)->getTag());
  563. if (!ret)
  564. {
  565. lastError = registerClient->getLetzterFehler();
  566. continue;
  567. }
  568. } while (0);
  569. registerClient->trenne(0);
  570. ladeAnimation->setSichtbar(0);
  571. uiFactory.initParam.bildschirm->setOnTop(0);
  572. vorLogin->zRegistrierung()->setWeiterReturn(ret);
  573. ((Datum*)arg5)->release();
  574. }
  575. break;
  576. case 17: // account Löschen Fertig
  577. // arg1 = char* -- Account Name
  578. // arg2 = char* -- Account Passwort
  579. // arg3 = char* -- Account Geheimnis
  580. if (1)
  581. {
  582. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  583. uiFactory.initParam.bildschirm->setOnTop(1);
  584. ladeAnimation->setSichtbar(1);
  585. int ret = 0;
  586. if (!registerClient)
  587. registerClient = mainClient->createRegisterServerClient();
  588. do
  589. {
  590. if (!registerClient)
  591. {
  592. lastError = mainClient->getLetzterFehler();
  593. continue;
  594. }
  595. if (!registerClient->verbinde())
  596. {
  597. lastError = registerClient->getLetzterFehler();
  598. continue;
  599. }
  600. ret = registerClient->accountLöschen((const char*)arg1, (const char*)arg2, (const char*)arg3);
  601. if (!ret)
  602. {
  603. lastError = registerClient->getLetzterFehler();
  604. continue;
  605. }
  606. } while (0);
  607. registerClient->trenne(0);
  608. ladeAnimation->setSichtbar(0);
  609. uiFactory.initParam.bildschirm->setOnTop(0);
  610. vorLogin->zUnregistrierung()->setWeiterReturn(ret);
  611. }
  612. break;
  613. case 19: // Spiel Laden
  614. if (1)
  615. {
  616. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  617. uiFactory.initParam.bildschirm->setOnTop(1);
  618. ladeAnimation->setSichtbar(1);
  619. for (unsigned char deckAlpha = 0; deckAlpha < 255; )
  620. {
  621. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  622. Sleep(40);
  623. deckAlpha += 15;
  624. }
  625. uiFactory.initParam.bildschirm->setdeckFarbe(255 << 24);
  626. _render = 0;
  627. uiFactory.initParam.bildschirm->lock();
  628. int karteId = nachLogin->zSpielenFenster()->getKarteId();
  629. SpielerTeamStruktur* sts = nachLogin->zSpielenFenster()->getSTS();
  630. nachLogin->setAnzeige(NLAImSpiel);
  631. uiFactory.initParam.bildschirm->unlock();
  632. _render = 1;
  633. nachLogin->zImSpiel()->beginnLaden(karteId, sts);
  634. ladeAnimation->setSichtbar(0);
  635. for (unsigned char deckAlpha = 255; deckAlpha > 0; )
  636. {
  637. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  638. Sleep(40);
  639. deckAlpha -= 15;
  640. }
  641. uiFactory.initParam.bildschirm->setdeckFarbe(0 << 24);
  642. uiFactory.initParam.bildschirm->setOnTop(0);
  643. }
  644. break;
  645. case 20: // Spiel Statistik laden
  646. if (1)
  647. {
  648. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  649. uiFactory.initParam.bildschirm->setOnTop(1);
  650. ladeAnimation->setSichtbar(1);
  651. for (unsigned char deckAlpha = 0; deckAlpha < 255; )
  652. {
  653. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  654. Sleep(40);
  655. deckAlpha += 15;
  656. }
  657. uiFactory.initParam.bildschirm->setdeckFarbe(255 << 24);
  658. _render = 0;
  659. uiFactory.initParam.bildschirm->lock();
  660. int karteId = nachLogin->zImSpiel()->getKarteId();
  661. nachLogin->setAnzeige(NLANormal);
  662. uiFactory.initParam.bildschirm->unlock();
  663. _render = 1;
  664. if (spielClient && spielClient->istVerbunden())
  665. nachLogin->zSpielenFenster()->ladeSpielStatistik(karteId);
  666. ladeAnimation->setSichtbar(0);
  667. for (unsigned char deckAlpha = 255; deckAlpha > 0; )
  668. {
  669. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  670. Sleep(40);
  671. deckAlpha -= 15;
  672. }
  673. uiFactory.initParam.bildschirm->setdeckFarbe(0 << 24);
  674. uiFactory.initParam.bildschirm->setOnTop(0);
  675. }
  676. break;
  677. case 21: // Spiel Aufzeichnung betreten
  678. if (1)
  679. {
  680. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  681. uiFactory.initParam.bildschirm->setOnTop(1);
  682. ladeAnimation->setSichtbar(1);
  683. for (unsigned char deckAlpha = 0; deckAlpha < 255; )
  684. {
  685. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  686. Sleep(40);
  687. deckAlpha += 15;
  688. }
  689. uiFactory.initParam.bildschirm->setdeckFarbe(255 << 24);
  690. _render = 0;
  691. uiFactory.initParam.bildschirm->lock();
  692. nachLogin->setAnzeige(NLASpielVideo);
  693. uiFactory.initParam.bildschirm->unlock();
  694. _render = 1;
  695. ladeAnimation->setSichtbar(0);
  696. for (unsigned char deckAlpha = 255; deckAlpha > 0; )
  697. {
  698. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  699. Sleep(40);
  700. deckAlpha -= 15;
  701. }
  702. uiFactory.initParam.bildschirm->setdeckFarbe(0 << 24);
  703. uiFactory.initParam.bildschirm->setOnTop(0);
  704. }
  705. break;
  706. case 22: // Spiel Aufzeichnung / Editor verlassen
  707. if (1)
  708. {
  709. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  710. uiFactory.initParam.bildschirm->setOnTop(1);
  711. ladeAnimation->setSichtbar(1);
  712. for (unsigned char deckAlpha = 0; deckAlpha < 255; )
  713. {
  714. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  715. Sleep(40);
  716. deckAlpha += 15;
  717. }
  718. uiFactory.initParam.bildschirm->setdeckFarbe(255 << 24);
  719. _render = 0;
  720. uiFactory.initParam.bildschirm->lock();
  721. nachLogin->setAnzeige(NLANormal);
  722. uiFactory.initParam.bildschirm->unlock();
  723. _render = 1;
  724. ladeAnimation->setSichtbar(0);
  725. for (unsigned char deckAlpha = 255; deckAlpha > 0; )
  726. {
  727. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  728. Sleep(40);
  729. deckAlpha -= 15;
  730. }
  731. uiFactory.initParam.bildschirm->setdeckFarbe(0 << 24);
  732. uiFactory.initParam.bildschirm->setOnTop(0);
  733. }
  734. break;
  735. case 23: // Editor betreten
  736. if (1)
  737. {
  738. uiFactory.initParam.bildschirm->setdeckFarbe(0x00000000);
  739. uiFactory.initParam.bildschirm->setOnTop(1);
  740. ladeAnimation->setSichtbar(1);
  741. for (unsigned char deckAlpha = 0; deckAlpha < 255; )
  742. {
  743. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  744. Sleep(40);
  745. deckAlpha += 15;
  746. }
  747. uiFactory.initParam.bildschirm->setdeckFarbe(255 << 24);
  748. _render = 0;
  749. uiFactory.initParam.bildschirm->lock();
  750. nachLogin->setAnzeige(NLAEditor);
  751. uiFactory.initParam.bildschirm->unlock();
  752. _render = 1;
  753. ladeAnimation->setSichtbar(0);
  754. for (unsigned char deckAlpha = 255; deckAlpha > 0; )
  755. {
  756. uiFactory.initParam.bildschirm->setdeckFarbe(deckAlpha << 24);
  757. Sleep(40);
  758. deckAlpha -= 15;
  759. }
  760. uiFactory.initParam.bildschirm->setdeckFarbe(0 << 24);
  761. uiFactory.initParam.bildschirm->setOnTop(0);
  762. }
  763. break;
  764. }
  765. release();
  766. }