TitelLeiste.cpp 27 KB

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