TitelLeiste.cpp 24 KB

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