TitelLeiste.cpp 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717
  1. #include "..\..\Global\Variablen.h"
  2. #include "TitelLeiste.h"
  3. #include <DateiSystem.h>
  4. #include "..\..\Global\Initialisierung.h"
  5. #include <Punkt.h>
  6. #include <Datei.h>
  7. // Inhalt der TitelLeisten Klasse aus Titelleiste.h
  8. // Konstruktor
  9. TitelLeiste::TitelLeiste( Fenster *zNachLogin, Schrift *zSchrift )
  10. : Thread()
  11. {
  12. Bild *goldB = bilder->get( "data/bilder/system.ltdb/gold.jpg" );
  13. Bild *silberB = bilder->get( "data/bilder/system.ltdb/silber.jpg" );
  14. Bild *kupferB = bilder->get( "data/bilder/system.ltdb/kupfer.jpg" );
  15. LTDBDatei *bilder = new LTDBDatei();
  16. bilder->setDatei( new Text( "data/bilder/system.ltdb" ) );
  17. bilder->leseDaten( 0 );
  18. closeBild = bilder->laden( 0, new Text( "schließen.png" ) );
  19. einstellungenBild = bilder->laden( 0, new Text( "optionen.png" ) );
  20. bilder->setDatei( new Text( "data/client/bilder/titel.ltdb" ) );
  21. bilder->leseDaten( 0 );
  22. logoutBild = bilder->laden( 0, new Text( "logout.png" ) );
  23. Bild *hintergrund = bilder->laden( 0, new Text( "titelleiste.jpg" ) );
  24. bilder = bilder->release();
  25. Punkt bgr = BildschirmGröße();
  26. version = initTextFeld( 1, 1, 200, 12, zSchrift, TextFeld::Style::Text | TextFeld::Style::Sichtbar, "client version: " );
  27. Datei *vDat = new Datei();
  28. vDat->setDatei( new Text( "data/version" ) );
  29. vDat->open( Datei::Style::lesen );
  30. char clientVersion[ 4 ] = { 0, 0, 0, 0 };
  31. vDat->lese( clientVersion, 4 );
  32. vDat->close();
  33. vDat = vDat->release();
  34. version->zText()->append( (int)clientVersion[ 3 ] );
  35. version->zText()->append( "." );
  36. version->zText()->append( (int)clientVersion[ 2 ] );
  37. version->zText()->append( "." );
  38. version->zText()->append( (int)clientVersion[ 1 ] );
  39. version->zText()->append( "." );
  40. version->zText()->append( (int)clientVersion[ 0 ] );
  41. close = initKnopf( bgr.x - 23, -1, 22, 22, 0, 0, "" );
  42. close->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
  43. close->setRahmenFarbe( 0xFFFFFFFF );
  44. close->setRahmenBreite( 1 );
  45. close->setHintergrundBildZ( closeBild->getThis() );
  46. initToolTip( close, "Kolja-Strohm Games Client beenden.", zSchrift, hauptScreen );
  47. close->setMausEreignisParameter( this );
  48. close->setMausEreignis( titelLeisteSchließenME );
  49. einstellungen = initKnopf( bgr.x - 44, -1, 22, 22, 0, 0, "" );
  50. einstellungen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
  51. einstellungen->setRahmenFarbe( 0xFFFFFFFF );
  52. einstellungen->setRahmenBreite( 1 );
  53. einstellungen->setHintergrundBildZ( einstellungenBild->getThis() );
  54. einstellungen->setMausEreignisParameter( this );
  55. einstellungen->setMausEreignis( titelLeisteEinstellungenME );
  56. initToolTip( einstellungen, "Einstellungen ändern.", zSchrift, hauptScreen );
  57. logout = initKnopf( bgr.x - 65, -1, 22, 22, 0, 0, "" );
  58. logout->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
  59. logout->setRahmenFarbe( 0xFFFFFFFF );
  60. logout->setRahmenBreite( 1 );
  61. logout->setHintergrundBildZ( logoutBild->getThis() );
  62. logout->setMausEreignisParameter( this );
  63. logout->setMausEreignis( titelLeisteLogoutME );
  64. initToolTip( logout, "Ausloggen.", zSchrift, hauptScreen );
  65. news = initKnopf( bgr.x - 103, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Information" );
  66. news->setRahmenFarbe( 0xFFFFFFFF );
  67. news->setRahmenBreite( 1 );
  68. news->setMausEreignisParameter( this );
  69. news->setMausEreignis( titelLeisteNewsME );
  70. miniGames = initKnopf( bgr.x - 204, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Mini Games" );
  71. miniGames->setRahmenFarbe( 0xFFFFFFFF );
  72. miniGames->setRahmenBreite( 1 );
  73. miniGames->setMausEreignisParameter( this );
  74. miniGames->setMausEreignis( titelLeisteMiniGamesME );
  75. accountAnsehen = initKnopf( bgr.x - 305, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Account" );
  76. accountAnsehen->setRahmenFarbe( 0xFFFFFFFF );
  77. accountAnsehen->setRahmenBreite( 1 );
  78. accountAnsehen->setMausEreignisParameter( this );
  79. accountAnsehen->setMausEreignis( titelLeisteAccountAnsehenME );
  80. shop = initKnopf( bgr.x - 406, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Shop" );
  81. shop->setRahmenFarbe( 0xFFFFFFFF );
  82. shop->setRahmenBreite( 1 );
  83. shop->setMausEreignisParameter( this );
  84. shop->setMausEreignis( titelLeisteShopME );
  85. spielen = initKnopf( bgr.x - 507, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Spielen" );
  86. spielen->setRahmenFarbe( 0xFFFFFFFF );
  87. spielen->setRahmenBreite( 1 );
  88. spielen->setMausEreignisParameter( this );
  89. spielen->setMausEreignis( titelLeisteSpielenME );
  90. editor = initKnopf( bgr.x - 507, 35, 102, 32, zSchrift, 0, "Editor" );
  91. editor->setRahmenFarbe( 0xFFFFFFFF );
  92. editor->setRahmenBreite( 1 );
  93. editor->setMausEreignisParameter( this );
  94. editor->setMausEreignis( titelLeisteEditorME );
  95. info = initTextFeld( 200, 11, 300, 76, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrzeilig | TextFeld::Style::Rahmen, "Wilkommen bei Kolja-Strohm Games!\nViel Spaß beim spielen." );
  96. info->setRahmenFarbe( 0xFFFFFFFF );
  97. int minus = bgr.x / 2 - 254;
  98. if( minus < 511 )
  99. minus = 511;
  100. minus = bgr.x - 508 - minus;
  101. news->setPosition( news->getX() - minus, news->getY() );
  102. miniGames->setPosition( miniGames->getX() - minus, miniGames->getY() );
  103. accountAnsehen->setPosition( accountAnsehen->getX() - minus, accountAnsehen->getY() );
  104. shop->setPosition( shop->getX() - minus, shop->getY() );
  105. spielen->setPosition( spielen->getX() - minus, spielen->getY() );
  106. editor->setPosition( editor->getX() - minus, editor->getY() );
  107. fenster = new Fenster();
  108. fenster->setStyle( Fenster::Style::Sichtbar | Fenster::Style::BodyHintergrund | Fenster::Style::BodyHBild | Fenster::Style::Erlaubt | Fenster::Style::Rahmen );
  109. fenster->setRFarbe( 0xFFFFFFFF );
  110. fenster->setSize( bgr.x, 100 );
  111. fenster->setKBgBildZ( hintergrund );
  112. fenster->addMember( close->getThis() );
  113. fenster->addMember( einstellungen->getThis() );
  114. fenster->addMember( logout->getThis() );
  115. fenster->addMember( accountAnsehen->getThis() );
  116. fenster->addMember( spielen->getThis() );
  117. fenster->addMember( editor->getThis() );
  118. fenster->addMember( miniGames->getThis() );
  119. fenster->addMember( news->getThis() );
  120. fenster->addMember( shop->getThis() );
  121. fenster->addMember( info->getThis() );
  122. fenster->addMember( version->getThis() );
  123. kupfer = initTextFeld( fenster->getBreite() - 40, 70, 10, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0" );
  124. silber = initTextFeld( kupfer->getX() - 40, 70, 10, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0" );
  125. gold = initTextFeld( silber->getX() - 40, 70, 10, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0" );
  126. goldBild = new BildZ();
  127. goldBild->setStyle( BildZ::Style::Sichtbar );
  128. goldBild->setBildZ( goldB );
  129. goldBild->setSize( 20, 20 );
  130. goldBild->setPosition( gold->getX() + gold->getBreite(), 70 );
  131. silberBild = new BildZ();
  132. silberBild->setStyle( BildZ::Style::Sichtbar );
  133. silberBild->setBildZ( silberB );
  134. silberBild->setSize( 20, 20 );
  135. silberBild->setPosition( silber->getX() + silber->getBreite(), 70 );
  136. kupferBild = new BildZ();
  137. kupferBild->setStyle( BildZ::Style::Sichtbar );
  138. kupferBild->setBildZ( kupferB );
  139. kupferBild->setSize( 20, 20 );
  140. kupferBild->setPosition( kupfer->getX() + kupfer->getBreite(), 70 );
  141. fenster->addMember( gold->getThis() );
  142. fenster->addMember( silber->getThis() );
  143. fenster->addMember( kupfer->getThis() );
  144. fenster->addMember( goldBild->getThis() );
  145. fenster->addMember( silberBild->getThis() );
  146. fenster->addMember( kupferBild->getThis() );
  147. zNachLogin->addMember( fenster->getThis() );
  148. next = new Array< int >();
  149. nextAnzahl = 0;
  150. rend = 0;
  151. start();
  152. }
  153. // Destruktor
  154. TitelLeiste::~TitelLeiste()
  155. {
  156. if( closeBild )
  157. closeBild = closeBild->release();
  158. if( einstellungenBild )
  159. einstellungenBild = einstellungenBild->release();
  160. if( logoutBild )
  161. logoutBild = logoutBild->release();
  162. if( close )
  163. close = (Knopf *)close->release();
  164. if( einstellungen )
  165. einstellungen = (Knopf *)einstellungen->release();
  166. if( logout )
  167. logout = (Knopf *)logout->release();
  168. if( accountAnsehen )
  169. accountAnsehen = (Knopf *)accountAnsehen->release();
  170. if( spielen )
  171. spielen = (Knopf *)spielen->release();
  172. if( editor )
  173. editor = (Knopf *)editor->release();
  174. if( miniGames )
  175. miniGames = (Knopf *)miniGames->release();
  176. if( news )
  177. news = (Knopf *)news->release();
  178. if( shop )
  179. shop = (Knopf *)shop->release();
  180. if( info )
  181. info = (Knopf *)info->release();
  182. if( version )
  183. version = (Knopf *)version->release();
  184. if( fenster )
  185. fenster = (Fenster *)fenster->release();
  186. if( next )
  187. next = next->release();
  188. goldBild->release();
  189. silberBild->release();
  190. kupferBild->release();
  191. gold->release();
  192. silber->release();
  193. kupfer->release();
  194. }
  195. // nicht constant
  196. void TitelLeiste::setImSpiel( bool imSpiel ) // aktiviert oder deaktiviert Knöpfe
  197. {
  198. close->setStyle( Knopf::Style::Erlaubt, !imSpiel );
  199. einstellungen->setStyle( Knopf::Style::Erlaubt, !imSpiel );
  200. logout->setStyle( Knopf::Style::Erlaubt, !imSpiel );
  201. accountAnsehen->setStyle( Knopf::Style::Erlaubt, !imSpiel );
  202. spielen->setStyle( Knopf::Style::Erlaubt, !imSpiel );
  203. editor->setStyle( Knopf::Style::Erlaubt, !imSpiel );
  204. miniGames->setStyle( Knopf::Style::Erlaubt, !imSpiel );
  205. news->setStyle( Knopf::Style::Erlaubt, !imSpiel );
  206. shop->setStyle( Knopf::Style::Erlaubt, !imSpiel );
  207. }
  208. void TitelLeiste::setImVideo( bool imVideo ) // aktiviert oder deaktiviert Knöpfe
  209. {
  210. einstellungen->setStyle( Knopf::Style::Erlaubt, !imVideo );
  211. accountAnsehen->setStyle( Knopf::Style::Erlaubt, !imVideo );
  212. spielen->setStyle( Knopf::Style::Erlaubt, !imVideo );
  213. editor->setStyle( Knopf::Style::Erlaubt, !imVideo );
  214. miniGames->setStyle( Knopf::Style::Erlaubt, !imVideo );
  215. news->setStyle( Knopf::Style::Erlaubt, !imVideo );
  216. shop->setStyle( Knopf::Style::Erlaubt, !imVideo );
  217. }
  218. bool TitelLeiste::druckSchließen( MausEreignis & me ) // Schließen wurde gedrückt
  219. {
  220. if( me.id == ME_RLinks )
  221. {
  222. nachLogin->zNachrichtenListe()->addNachricht( new Text( "Schließen" ), new Text( "Möchtest du den Client wirklich beenden?" ),
  223. new Text( "Ja" ), new Text( "Nein" ), []()
  224. {
  225. nachLogin->zChatLeiste()->removeAll();
  226. if( loginClient &&loginClient->verbinde() )
  227. {
  228. loginClient->logout();
  229. loginClient->trenne( 1 );
  230. }
  231. PostQuitMessage( 0 );
  232. } );
  233. }
  234. return 1;
  235. }
  236. bool TitelLeiste::druckEinstellungen( MausEreignis & me ) // Einstellungen wurde gedrückt
  237. {
  238. if( me.id == ME_RLinks )
  239. nachLogin->zEinstellungen()->setSichtbar();
  240. return 1;
  241. }
  242. bool TitelLeiste::druckLogout( MausEreignis & me ) // Logout wurde gedrückt
  243. {
  244. if( me.id == ME_RLinks )
  245. {
  246. nachLogin->zNachrichtenListe()->addNachricht( new Text( "Logout" ), new Text( "Möchtest du dich wirklich ausloggen?" ),
  247. new Text( "Ja" ), new Text( "Nein" ), []()
  248. {
  249. ::aktion = 3;
  250. } );
  251. }
  252. return 1;
  253. }
  254. bool TitelLeiste::druckSpielen( MausEreignis & me ) // Spielen wurde gedrückt
  255. {
  256. if( me.id == ME_RLinks )
  257. {
  258. if( nachLogin->zSpielenFenster()->istSichtbar() && !nextAnzahl )
  259. return 1;
  260. next->add( 1, nextAnzahl );
  261. nextAnzahl++;
  262. }
  263. return 1;
  264. }
  265. bool TitelLeiste::druckAccountAnsehen( MausEreignis & me ) // AccountAnsehen wurde gedrückt
  266. {
  267. if( me.id == ME_RLinks )
  268. {
  269. if( nachLogin->zAccountAnsehenFenster()->istSichtbar() && !nextAnzahl )
  270. return 1;
  271. next->add( 2, nextAnzahl );
  272. nextAnzahl++;
  273. }
  274. return 1;
  275. }
  276. bool TitelLeiste::druckMiniGames( MausEreignis & me ) // MiniGames wurde gedrückt
  277. {
  278. if( me.id == ME_RLinks )
  279. {
  280. if( nachLogin->zMGFenster()->istSichtbar() && !nextAnzahl )
  281. return 1;
  282. next->add( 3, nextAnzahl );
  283. nextAnzahl++;
  284. }
  285. return 1;
  286. }
  287. bool TitelLeiste::druckNews( MausEreignis & me ) // News wurde gedrückt
  288. {
  289. if( me.id == ME_RLinks )
  290. {
  291. if( nachLogin->zNewsFenster()->istSichtbar() && !nextAnzahl )
  292. return 1;
  293. next->add( 4, nextAnzahl );
  294. nextAnzahl++;
  295. }
  296. return 1;
  297. }
  298. bool TitelLeiste::druckShop( MausEreignis & me ) // Spielen wurde gedrückt
  299. {
  300. if( me.id == ME_RLinks )
  301. {
  302. if( nachLogin->zShopFenster()->istSichtbar() && !nextAnzahl )
  303. return 1;
  304. next->add( 5, nextAnzahl );
  305. nextAnzahl++;
  306. }
  307. return 1;
  308. }
  309. bool TitelLeiste::druckEditor( MausEreignis & me ) // Spielen wurde gedrückt
  310. {
  311. if( me.id == ME_RLinks )
  312. {
  313. if( nachLogin->zEditorFenster()->istSichtbar() && !nextAnzahl )
  314. return 1;
  315. next->add( 6, nextAnzahl );
  316. nextAnzahl++;
  317. }
  318. return 1;
  319. }
  320. void TitelLeiste::thread()
  321. {
  322. while( 1 )
  323. {
  324. if( infoClient )
  325. {
  326. cs.lock();
  327. Text *infoTxt = new Text( "" );
  328. int typ = 0;
  329. bool b = infoClient->getInformationText( infoTxt, &typ );
  330. if( b &&infoTxt->getLength() )
  331. info->setText( infoTxt->getThis() );
  332. infoTxt = infoTxt->release();
  333. int k = infoClient->getKupfer();
  334. int s = k / 100;
  335. int g = s / 100;
  336. s = s % 100;
  337. k = k % 100;
  338. Text * gt = new Text();
  339. gt->append( g );
  340. Text * st = new Text();
  341. st->append( s );
  342. Text * kt = new Text();
  343. kt->append( k );
  344. Schrift * schrift = gold->zSchrift();
  345. TextRenderer rd( schrift->getThis() );
  346. rd.setSchriftSize( 12 );
  347. int gtbr = rd.getTextBreite( gt->getText() );
  348. int stbr = rd.getTextBreite( st->getText() );
  349. int ktbr = rd.getTextBreite( kt->getText() );
  350. kupfer->setPosition( fenster->getBreite() - 30 - ktbr, kupfer->getY() );
  351. kupfer->setSize( ktbr, 20 );
  352. silber->setPosition( kupfer->getX() - 30 - stbr, silber->getY() );
  353. silber->setSize( stbr, 20 );
  354. gold->setPosition( silber->getX() - 30 - gtbr, gold->getY() );
  355. gold->setSize( gtbr, 20 );
  356. goldBild->setPosition( gold->getX() + gold->getBreite(), goldBild->getY() );
  357. silberBild->setPosition( silber->getX() + silber->getBreite(), silberBild->getY() );
  358. kupferBild->setPosition( kupfer->getX() + kupfer->getBreite(), kupferBild->getY() );
  359. gold->setText( gt );
  360. silber->setText( st );
  361. kupfer->setText( kt );
  362. editor->setStyle( Knopf::Style::Sichtbar, infoClient->hatRecht( 1 ) );
  363. cs.unlock();
  364. }
  365. Sleep( 60 * 1000 );
  366. }
  367. run = 0;
  368. }
  369. bool TitelLeiste::tick() // tick
  370. {
  371. if( nextAnzahl )
  372. {
  373. rend = 1;
  374. int n = next->hat( 0 ) ? next->get( 0 ) : 0;
  375. switch( n )
  376. {
  377. case 1: // Spielen
  378. // Andere Fenster Unsichtbar machen
  379. if( nachLogin->zShopFenster()->istSichtbar() )
  380. {
  381. if( !nachLogin->zShopFenster()->istAnimiert() )
  382. nachLogin->zShopFenster()->setSichtbar( 0 );
  383. break;
  384. }
  385. if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
  386. {
  387. if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
  388. nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
  389. break;
  390. }
  391. if( nachLogin->zMGFenster()->istSichtbar() )
  392. {
  393. if( !nachLogin->zMGFenster()->istAnimiert() )
  394. nachLogin->zMGFenster()->setSichtbar( 0 );
  395. break;
  396. }
  397. if( nachLogin->zNewsFenster()->istSichtbar() )
  398. {
  399. if( !nachLogin->zNewsFenster()->istAnimiert() )
  400. nachLogin->zNewsFenster()->setSichtbar( 0 );
  401. break;
  402. }
  403. if( nachLogin->zEditorFenster()->istSichtbar() )
  404. {
  405. if( !nachLogin->zEditorFenster()->istAnimiert() )
  406. nachLogin->zEditorFenster()->setSichtbar( 0 );
  407. break;
  408. }
  409. // Fenster Sichtbar machen
  410. spielen->setAlphaFeldFarbe( 0x0000FF00 );
  411. accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
  412. miniGames->setAlphaFeldFarbe( 0x5500FF00 );
  413. news->setAlphaFeldFarbe( 0x5500FF00 );
  414. shop->setAlphaFeldFarbe( 0x5500FF00 );
  415. editor->setAlphaFeldFarbe( 0x5500FF00 );
  416. nachLogin->zSpielenFenster()->setSichtbar( 1 );
  417. next->remove( 0 );
  418. nextAnzahl--;
  419. break;
  420. case 2: // Account ansehen
  421. // Andere Fenster Unsichtbar machen
  422. if( nachLogin->zSpielenFenster()->istSichtbar() )
  423. {
  424. if( !nachLogin->zSpielenFenster()->istAnimiert() )
  425. nachLogin->zSpielenFenster()->setSichtbar( 0 );
  426. break;
  427. }
  428. if( nachLogin->zShopFenster()->istSichtbar() )
  429. {
  430. if( !nachLogin->zShopFenster()->istAnimiert() )
  431. nachLogin->zShopFenster()->setSichtbar( 0 );
  432. break;
  433. }
  434. if( nachLogin->zMGFenster()->istSichtbar() )
  435. {
  436. if( !nachLogin->zMGFenster()->istAnimiert() )
  437. nachLogin->zMGFenster()->setSichtbar( 0 );
  438. break;
  439. }
  440. if( nachLogin->zNewsFenster()->istSichtbar() )
  441. {
  442. if( !nachLogin->zNewsFenster()->istAnimiert() )
  443. nachLogin->zNewsFenster()->setSichtbar( 0 );
  444. break;
  445. }
  446. if( nachLogin->zEditorFenster()->istSichtbar() )
  447. {
  448. if( !nachLogin->zEditorFenster()->istAnimiert() )
  449. nachLogin->zEditorFenster()->setSichtbar( 0 );
  450. break;
  451. }
  452. // Fenster Sichtbar machen
  453. spielen->setAlphaFeldFarbe( 0x5500FF00 );
  454. accountAnsehen->setAlphaFeldFarbe( 0x0000FF00 );
  455. miniGames->setAlphaFeldFarbe( 0x5500FF00 );
  456. news->setAlphaFeldFarbe( 0x5500FF00 );
  457. shop->setAlphaFeldFarbe( 0x5500FF00 );
  458. editor->setAlphaFeldFarbe( 0x5500FF00 );
  459. nachLogin->zAccountAnsehenFenster()->setSichtbar( 1 );
  460. next->remove( 0 );
  461. nextAnzahl--;
  462. break;
  463. case 3: // MiniGames
  464. // Andere Fenster Unsichtbar machen
  465. if( nachLogin->zSpielenFenster()->istSichtbar() )
  466. {
  467. if( !nachLogin->zSpielenFenster()->istAnimiert() )
  468. nachLogin->zSpielenFenster()->setSichtbar( 0 );
  469. break;
  470. }
  471. if( nachLogin->zShopFenster()->istSichtbar() )
  472. {
  473. if( !nachLogin->zShopFenster()->istAnimiert() )
  474. nachLogin->zShopFenster()->setSichtbar( 0 );
  475. break;
  476. }
  477. if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
  478. {
  479. if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
  480. nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
  481. break;
  482. }
  483. if( nachLogin->zNewsFenster()->istSichtbar() )
  484. {
  485. if( !nachLogin->zNewsFenster()->istAnimiert() )
  486. nachLogin->zNewsFenster()->setSichtbar( 0 );
  487. break;
  488. }
  489. if( nachLogin->zEditorFenster()->istSichtbar() )
  490. {
  491. if( !nachLogin->zEditorFenster()->istAnimiert() )
  492. nachLogin->zEditorFenster()->setSichtbar( 0 );
  493. break;
  494. }
  495. // Fenster Sichtbar machen
  496. spielen->setAlphaFeldFarbe( 0x5500FF00 );
  497. accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
  498. miniGames->setAlphaFeldFarbe( 0x0000FF00 );
  499. news->setAlphaFeldFarbe( 0x5500FF00 );
  500. shop->setAlphaFeldFarbe( 0x5500FF00 );
  501. editor->setAlphaFeldFarbe( 0x5500FF00 );
  502. nachLogin->zMGFenster()->setSichtbar( 1 );
  503. next->remove( 0 );
  504. nextAnzahl--;
  505. break;
  506. case 4: // News
  507. // Andere Fenster Unsichtbar machen
  508. if( nachLogin->zSpielenFenster()->istSichtbar() )
  509. {
  510. if( !nachLogin->zSpielenFenster()->istAnimiert() )
  511. nachLogin->zSpielenFenster()->setSichtbar( 0 );
  512. break;
  513. }
  514. if( nachLogin->zShopFenster()->istSichtbar() )
  515. {
  516. if( !nachLogin->zShopFenster()->istAnimiert() )
  517. nachLogin->zShopFenster()->setSichtbar( 0 );
  518. break;
  519. }
  520. if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
  521. {
  522. if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
  523. nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
  524. break;
  525. }
  526. if( nachLogin->zMGFenster()->istSichtbar() )
  527. {
  528. if( !nachLogin->zMGFenster()->istAnimiert() )
  529. nachLogin->zMGFenster()->setSichtbar( 0 );
  530. break;
  531. }
  532. if( nachLogin->zEditorFenster()->istSichtbar() )
  533. {
  534. if( !nachLogin->zEditorFenster()->istAnimiert() )
  535. nachLogin->zEditorFenster()->setSichtbar( 0 );
  536. break;
  537. }
  538. // Fenster Sichtbar machen
  539. spielen->setAlphaFeldFarbe( 0x5500FF00 );
  540. accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
  541. miniGames->setAlphaFeldFarbe( 0x5500FF00 );
  542. news->setAlphaFeldFarbe( 0x0000FF00 );
  543. shop->setAlphaFeldFarbe( 0x5500FF00 );
  544. editor->setAlphaFeldFarbe( 0x5500FF00 );
  545. nachLogin->zNewsFenster()->setSichtbar( 1 );
  546. next->remove( 0 );
  547. nextAnzahl--;
  548. break;
  549. case 5: // Shop
  550. // Andere Fenster Unsichtbar machen
  551. if( nachLogin->zSpielenFenster()->istSichtbar() )
  552. {
  553. if( !nachLogin->zSpielenFenster()->istAnimiert() )
  554. nachLogin->zSpielenFenster()->setSichtbar( 0 );
  555. break;
  556. }
  557. if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
  558. {
  559. if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
  560. nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
  561. break;
  562. }
  563. if( nachLogin->zMGFenster()->istSichtbar() )
  564. {
  565. if( !nachLogin->zMGFenster()->istAnimiert() )
  566. nachLogin->zMGFenster()->setSichtbar( 0 );
  567. break;
  568. }
  569. if( nachLogin->zNewsFenster()->istSichtbar() )
  570. {
  571. if( !nachLogin->zNewsFenster()->istAnimiert() )
  572. nachLogin->zNewsFenster()->setSichtbar( 0 );
  573. break;
  574. }
  575. if( nachLogin->zEditorFenster()->istSichtbar() )
  576. {
  577. if( !nachLogin->zEditorFenster()->istAnimiert() )
  578. nachLogin->zEditorFenster()->setSichtbar( 0 );
  579. break;
  580. }
  581. // Fenster Sichtbar machen
  582. spielen->setAlphaFeldFarbe( 0x5500FF00 );
  583. accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
  584. miniGames->setAlphaFeldFarbe( 0x5500FF00 );
  585. news->setAlphaFeldFarbe( 0x5500FF00 );
  586. shop->setAlphaFeldFarbe( 0x0000FF00 );
  587. editor->setAlphaFeldFarbe( 0x5500FF00 );
  588. nachLogin->zShopFenster()->setSichtbar( 1 );
  589. next->remove( 0 );
  590. nextAnzahl--;
  591. break;
  592. case 6: // Editor
  593. // Andere Fenster Unsichtbar machen
  594. if( nachLogin->zSpielenFenster()->istSichtbar() )
  595. {
  596. if( !nachLogin->zSpielenFenster()->istAnimiert() )
  597. nachLogin->zSpielenFenster()->setSichtbar( 0 );
  598. break;
  599. }
  600. if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
  601. {
  602. if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
  603. nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
  604. break;
  605. }
  606. if( nachLogin->zMGFenster()->istSichtbar() )
  607. {
  608. if( !nachLogin->zMGFenster()->istAnimiert() )
  609. nachLogin->zMGFenster()->setSichtbar( 0 );
  610. break;
  611. }
  612. if( nachLogin->zNewsFenster()->istSichtbar() )
  613. {
  614. if( !nachLogin->zNewsFenster()->istAnimiert() )
  615. nachLogin->zNewsFenster()->setSichtbar( 0 );
  616. break;
  617. }
  618. if( nachLogin->zShopFenster()->istSichtbar() )
  619. {
  620. if( !nachLogin->zShopFenster()->istAnimiert() )
  621. nachLogin->zShopFenster()->setSichtbar( 0 );
  622. break;
  623. }
  624. // Fenster Sichtbar machen
  625. spielen->setAlphaFeldFarbe( 0x5500FF00 );
  626. accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
  627. miniGames->setAlphaFeldFarbe( 0x5500FF00 );
  628. news->setAlphaFeldFarbe( 0x5500FF00 );
  629. shop->setAlphaFeldFarbe( 0x5500FF00 );
  630. editor->setAlphaFeldFarbe( 0x0000FF00 );
  631. nachLogin->zEditorFenster()->setSichtbar( 1 );
  632. next->remove( 0 );
  633. nextAnzahl--;
  634. break;
  635. }
  636. }
  637. bool ret = rend;
  638. rend = 0;
  639. return ret;
  640. }
  641. // constant
  642. int TitelLeiste::getSpielenX() const
  643. {
  644. return spielen->getX();
  645. }
  646. // löscht das objekt wenn es nicht mehr gebraucht wird und beendet den Thread
  647. Thread *TitelLeiste::release()
  648. {
  649. if( ref == 2 && run )
  650. ende();
  651. return Thread::release();
  652. }
  653. // Ereignisse
  654. bool titelLeisteSchließenME( void *p, void *obj, MausEreignis me )
  655. {
  656. return ( (TitelLeiste *)p )->druckSchließen( me );
  657. }
  658. bool titelLeisteEinstellungenME( void *p, void *obj, MausEreignis me )
  659. {
  660. return ( (TitelLeiste *)p )->druckEinstellungen( me );
  661. }
  662. bool titelLeisteLogoutME( void *p, void *obj, MausEreignis me )
  663. {
  664. return ( (TitelLeiste *)p )->druckLogout( me );
  665. }
  666. bool titelLeisteAccountAnsehenME( void *p, void *obj, MausEreignis me )
  667. {
  668. return ( (TitelLeiste *)p )->druckAccountAnsehen( me );
  669. }
  670. bool titelLeisteSpielenME( void *p, void *obj, MausEreignis me )
  671. {
  672. return ( (TitelLeiste *)p )->druckSpielen( me );
  673. }
  674. bool titelLeisteMiniGamesME( void *p, void *obj, MausEreignis me )
  675. {
  676. return ( (TitelLeiste *)p )->druckMiniGames( me );
  677. }
  678. bool titelLeisteNewsME( void *p, void *obj, MausEreignis me )
  679. {
  680. return ( (TitelLeiste *)p )->druckNews( me );
  681. }
  682. bool titelLeisteShopME( void *p, void *obj, MausEreignis me )
  683. {
  684. return ( (TitelLeiste *)p )->druckShop( me );
  685. }
  686. bool titelLeisteEditorME( void *p, void *obj, MausEreignis me )
  687. {
  688. return ( (TitelLeiste *)p )->druckEditor( me );
  689. }