TitelLeiste.cpp 28 KB

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