123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832 |
- #include "Spiele.h"
- #include <Rahmen.h>
- #include <Punkt.h>
- #include <DateiSystem.h>
- #include <Text.h>
- #include "..\..\Global\Initialisierung.h"
- #include "..\..\Global\Variablen.h"
- #include <InitDatei.h>
- Spiele::Spiele(Fenster* zNachLoginFenster, int x)
- : Zeichnung()
- {
- bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
- pos = Punkt(x, 67);
- gr = Punkt(102, 32);
- LTDBDatei* spielenBilder = new LTDBDatei();
- spielenBilder->setDatei(new Text("data/client/bilder/spielen.ltdb"));
- spielenBilder->leseDaten(0);
- rahmen = new LRahmen();
- rahmen->setFarbe(0xFFFFFFFF);
- rahmen->setSize(102, 32);
- spielAuswahl = new SpielAuswahlFenster();
- karteAuswahl = new KarteAuswahlFenster();
- anmeldung = new AngemeldetFenster();
- gruppe = new GruppeFenster();
- teamAuswahl = new TeamAuswahl();
- statistik = new SpielStatistik();
- oben = initKnopf(380, 450, 40, 15, 0, "");
- oben->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
- oben->setHintergrundBildZ(spielenBilder->laden(0, new Text("oben.png")));
- initToolTip(oben, "Nach oben umblättern.");
- links = initKnopf(360, 450, 15, 40, 0, "");
- links->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
- links->setHintergrundBildZ(spielenBilder->laden(0, new Text("links.png")));
- initToolTip(links, "Zurück.");
- unten = initKnopf(380, 475, 40, 15, 0, "");
- unten->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
- unten->setHintergrundBildZ(spielenBilder->laden(0, new Text("unten.png")));
- initToolTip(unten, "Nach unten umblättern.");
- rechts = initKnopf(425, 450, 15, 40, 0, "");
- rechts->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
- rechts->setHintergrundBildZ(spielenBilder->laden(0, new Text("rechts.png")));
- initToolTip(rechts, "Weiter.");
- spielenBilder->release();
- alpha = 0;
- ladenAlpha = 0;
- ladenJetzt = 0;
- animation = 0;
- sichtbar = 0;
- tickVal = 0;
- tickVal2 = 0;
- jetzt = 0;
- prozent1 = 0;
- prozent2 = 0;
- prozent3 = 0;
- prozent4 = 0;
- prozent5 = 0;
- prozent6 = 0;
- spielGefundenB = 0;
- begPos = Punkt(0, 0);
- begGröße = Punkt(0, 0);
- größe1 = Punkt(102, 32);
- pos1 = Punkt(x, 67);
- größe2 = Punkt(800, 500);
- pos2 = bildschirmGröße / 2 - größe2 / 2;
- größe3 = Punkt(950, 550);
- pos3 = bildschirmGröße / 2 - größe3 / 2;
- größe4 = Punkt(700, 600);
- pos4 = bildschirmGröße / 2 - größe4 / 2;
- getThis();
- zNachLoginFenster->addMember(this);
- }
- Spiele::~Spiele()
- {
- rahmen->release();
- spielAuswahl->warteAufThread(10000);
- spielAuswahl->ende();
- spielAuswahl->release();
- karteAuswahl->warteAufThread(10000);
- karteAuswahl->ende();
- karteAuswahl->release();
- anmeldung->release();
- gruppe->release();
- teamAuswahl->release();
- statistik->release();
- oben->release();
- links->release();
- unten->release();
- rechts->release();
- }
- void Spiele::setSichtbar(bool sicht)
- {
- begPos = pos;
- begGröße = gr;
- animation |= (sicht ? 0x1 : 0x2);
- updateErlaubt();
- rend = 1;
- }
- void Spiele::updateErlaubt()
- {
- if (sichtbar)
- {
- if (jetzt == 1)
- spielAuswahl->updateListe();
- if (jetzt == 2)
- karteAuswahl->updateListe();
- }
- }
- void Spiele::anmelden(int karteId)
- {
- if (anmeldung->setKarteId(karteId))
- {
- karteAuswahl->setSichtbar(0);
- anmeldung->setSichtbar(1);
- jetzt = 3;
- }
- }
- void Spiele::anmeldungAbbrechen()
- {
- anmeldung->setSichtbar(0);
- spielAuswahl->setSichtbar(1);
- jetzt = 1;
- }
- void Spiele::gruppeBetreten(int gruppeId)
- {
- begPos = pos;
- begGröße = gr;
- größe2 = größe3;
- pos2 = pos3;
- gruppe->setGruppeId(gruppeId);
- gruppe->neuerSpieler(loginClient->getAccountId());
- animation |= 0x4;
- spielGefundenB = 0;
- }
- void Spiele::gruppeVerlassen()
- {
- begPos = pos;
- begGröße = gr;
- größe2.x = 800;
- größe2.y = 500;
- pos2 = bildschirmGröße / 2 - größe2 / 2;
- animation |= 0x8;
- }
- void Spiele::spielerBetrittGruppe(int gruppeId, int accountId)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->neuerSpieler(accountId);
- }
- void Spiele::spielerVerlässtGruppe(int gruppeId, int accountId)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->spielerVerlässt(accountId);
- }
- void Spiele::gruppeNachricht(int gruppeId, const char* nachricht)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->chatNachricht(nachricht);
- }
- void Spiele::gruppeAnmelden(int gruppeId)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->setAngemeldet(1);
- }
- void Spiele::gruppeAbmelden(int gruppeId)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->setAngemeldet(0);
- }
- void Spiele::setGruppeSpielStarten(int gruppeId, bool spielStarten)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->setSpielerHinzufügen(!spielStarten);
- }
- void Spiele::setGruppeAdmin(int gruppeId, int admin)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->setAdmin(admin);
- nachLogin->zFreundesListe()->zeigeEinladeKnopf(admin == loginClient->getAccountId());
- }
- void Spiele::kickAusGruppe(int gruppeId)
- {
- if (gruppe->getGruppeId() == gruppeId)
- {
- gruppe->kick();
- gruppeVerlassen();
- }
- }
- void Spiele::gruppeEinladungNeu(int gruppeId, int accountId)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->neueEinladung(accountId);
- }
- void Spiele::gruppeEinladungAbgebrochen(int gruppeId, int accountId)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->einladungEntfernt(accountId);
- }
- void Spiele::gruppeEinadungAbgelehnt(int gruppeId, int accountId)
- {
- if (gruppe->getGruppeId() == gruppeId)
- gruppe->einladungAbgelehnt(accountId);
- }
- void Spiele::spielGefunden(int karteId)
- {
- MausEreignis me;
- me.id = ME_RLinks;
- uiFactory.initParam.bildschirm->lock();
- nachLogin->zTitelLeiste()->druckSpielen(me);
- uiFactory.initParam.bildschirm->unlock();
- if (jetzt == 3)
- anmeldung->setSpielGefunden();
- else if (jetzt == 4)
- gruppe->spielGefunden();
- else
- spielGefundenB = 1;
- }
- void Spiele::spielGefundenZeitVerbleibend(int sekunden)
- {
- if (jetzt == 3)
- anmeldung->setVerbleibendeZeit(sekunden);
- if (jetzt == 4)
- gruppe->verbleibendeZeit(sekunden);
- if (jetzt == 5)
- teamAuswahl->verbleibendeZeit(sekunden);
- }
- void Spiele::spielGefundenAbbruch()
- {
- if (jetzt == 3)
- anmeldung->spielGefundenAbbruch();
- if (jetzt == 4)
- gruppe->spielGefundenAbbruch();
- }
- void Spiele::zurückInWarteschlange(int stunden, int minuten, int sekunden)
- {
- if (jetzt == 3)
- anmeldung->zurückInWarteschlange(stunden, minuten, sekunden);
- if (jetzt == 4)
- gruppe->zurückInWarteschlange(stunden, minuten, sekunden);
- }
- void Spiele::teamAuswahlBetreten()
- {
- begPos = pos;
- begGröße = gr;
- größe2 = größe4;
- pos2 = pos4;
- animation |= 0x10;
- }
- void Spiele::teamAuswahlInit(SpielerTeamStruktur* sts)
- {
- int karteId = 0;
- if (jetzt == 3)
- karteId = anmeldung->getKarteId();
- if (jetzt == 4)
- karteId = gruppe->getKarteId();
- teamAuswahl->setKarteId(karteId);
- teamAuswahl->initSTS(sts);
- }
- void Spiele::teamAuswahlAddSpieler(int accountId)
- {
- teamAuswahl->addSpieler(accountId);
- }
- void Spiele::teamAuswahlRemoveSpieler(int accountId)
- {
- teamAuswahl->removeSpieler(accountId);
- }
- void Spiele::teamAuswahlSpielerWehseltTeam(int accountId, int spielerNummer)
- {
- teamAuswahl->setSpielerNummer(accountId, spielerNummer);
- }
- void Spiele::teamAuswahlChatNachricht(const char* nachricht)
- {
- teamAuswahl->addNachricht(nachricht);
- }
- void Spiele::teamAuswahlAbbrechen()
- {
- begPos = pos;
- begGröße = gr;
- größe2.x = 800;
- größe2.y = 500;
- pos2 = bildschirmGröße / 2 - größe2 / 2;
- animation |= 0x20;
- }
- void Spiele::statistikNachricht(int län, const char* bytes)
- {
- statistik->nachricht(län, bytes);
- }
- void Spiele::ladeSpielStatistik(int karteId)
- {
- pos = pos1;
- gr = größe1;
- größe2 = Punkt(800, 500);
- pos2 = bildschirmGröße / 2 - größe2 / 2;
- teamAuswahl->setSichtbar(0, 1);
- animation = 0;
- sichtbar = 0;
- alpha = 0;
- jetzt = 6;
- statistik->setSpielArt(infoClient->getSpielId(karteId));
- setSichtbar(1);
- }
- bool Spiele::tick(double tickVal)
- {
- rend |= spielAuswahl->tick(tickVal);
- rend |= karteAuswahl->tick(tickVal);
- rend |= anmeldung->tick(tickVal);
- rend |= gruppe->tick(tickVal);
- rend |= teamAuswahl->tick(tickVal);
- rend |= statistik->tick(tickVal);
- rend |= oben->tick(tickVal);
- rend |= rechts->tick(tickVal);
- rend |= unten->tick(tickVal);
- rend |= links->tick(tickVal);
- if (jetzt == 6 && !statistik->istSichtbar())
- {
- spielAuswahl->setSichtbar(1);
- jetzt = 1;
- statistik->reset();
- }
- tickVal2 += tickVal;
- if (tickVal2 >= 1 / 60.0)
- {
- tickVal2 -= 1 / 60.0;
- if (ladenAlpha && ladeAnimation->zAnimationData())
- {
- rend = 1;
- ladenJetzt++;
- if (ladenJetzt >= ladeAnimation->zAnimationData()->getBildAnzahl())
- ladenJetzt = 0;
- }
- }
- this->tickVal += tickVal * 150;
- int val = (int)this->tickVal;
- if (val < 1)
- {
- bool ret = rend;
- rend = 0;
- return ret;
- }
- this->tickVal -= val;
- if ((animation | 0x1) == animation)
- {
- if (prozent1 != 100)
- {
- prozent1 += val;
- if (prozent1 >= 100)
- {
- prozent1 = 100;
- if (!jetzt)
- {
- spielAuswahl->setSichtbar(1);
- jetzt = 1;
- }
- }
- pos = begPos + (Punkt)(((Vec2< double >)(pos2 - begPos) / 100.0) * prozent1);
- gr = begGröße + (Punkt)(((Vec2< double >)(größe2 - begGröße) / 100.0) * prozent1);
- }
- else if (alpha != 255)
- {
- alpha += val * 2;
- if (alpha >= 255 || (animation | 0x2) == animation)
- {
- alpha = 255;
- animation &= ~0x1;
- sichtbar = 1;
- prozent1 = 0;
- }
- }
- rend = 1;
- }
- if ((animation | 0x2) == animation)
- {
- if (alpha != 0)
- {
- alpha -= val * 2;
- if (alpha < 0)
- alpha = 0;
- }
- else
- {
- prozent2 += val;
- if (prozent2 > 100)
- prozent2 = 100;
- pos = begPos + (Punkt)(((Vec2< double >)(pos1 - begPos) / 100.0) * prozent2);
- gr = begGröße + (Punkt)(((Vec2< double >)(größe1 - begGröße) / 100.0) * prozent2);
- if (prozent2 == 100)
- {
- prozent2 = 0;
- animation &= ~0x2;
- sichtbar = 0;
- }
- }
- rend = 1;
- }
- if ((animation | 0x4) == animation)
- {
- if (ladenAlpha < 255 && !prozent3)
- {
- alpha -= val * 3;
- if (alpha < 0)
- alpha = 0;
- ladenAlpha += val * 3;
- if (ladenAlpha >= 255)
- {
- ladenAlpha = 255;
- if (jetzt == 1)
- spielAuswahl->setSichtbar(0);
- if (jetzt == 2)
- karteAuswahl->setSichtbar(0);
- if (jetzt == 6)
- statistik->verlassen();
- }
- }
- else if (ladenAlpha == 255 && prozent3 != 100)
- {
- prozent3 += val;
- if (prozent3 >= 100)
- {
- prozent3 = 100;
- gruppe->setSichtbar(1);
- jetzt = 4;
- if (spielGefundenB)
- {
- spielGefundenB = 0;
- gruppe->spielGefunden();
- }
- }
- pos = begPos + (Punkt)(((Vec2< double >)(pos3 - begPos) / 100.0) * prozent3);
- gr = begGröße + (Punkt)(((Vec2< double >)(größe3 - begGröße) / 100.0) * prozent3);
- }
- else if (prozent3 == 100)
- {
- alpha += val * 3;
- if (alpha > 255)
- alpha = 255;
- ladenAlpha -= val * 3;
- if (ladenAlpha <= 0)
- {
- ladenAlpha = 0;
- animation &= ~0x4;
- prozent3 = 0;
- }
- }
- rend = 1;
- }
- if ((animation | 0x8) == animation)
- {
- if (ladenAlpha < 255 && prozent4 == 0)
- {
- alpha -= val * 3;
- if (alpha < 0)
- alpha = 0;
- ladenAlpha += val * 3;
- if (ladenAlpha >= 255)
- {
- ladenAlpha = 255;
- gruppe->setSichtbar(0);
- }
- }
- else if (ladenAlpha == 255 && prozent4 != 100)
- {
- prozent4 += val;
- if (prozent4 >= 100)
- {
- prozent4 = 100;
- spielAuswahl->setSichtbar(1);
- jetzt = 1;
- }
- pos = begPos + (Punkt)(((Vec2< double >)(pos2 - begPos) / 100.0) * prozent4);
- gr = begGröße + (Punkt)(((Vec2< double >)(größe2 - begGröße) / 100.0) * prozent4);
- }
- else if (prozent4 == 100)
- {
- alpha += val * 3;
- if (alpha > 255)
- alpha = 255;
- ladenAlpha -= val * 3;
- if (ladenAlpha <= 0)
- {
- ladenAlpha = 0;
- animation &= ~0x8;
- prozent4 = 0;
- }
- }
- rend = 1;
- }
- if ((animation | 0x10) == animation)
- {
- if (ladenAlpha < 255 && !prozent5)
- {
- alpha -= val * 3;
- if (alpha < 0)
- alpha = 0;
- ladenAlpha += val * 3;
- if (ladenAlpha >= 255)
- {
- ladenAlpha = 255;
- if (jetzt == 1)
- spielAuswahl->setSichtbar(0);
- if (jetzt == 2)
- karteAuswahl->setSichtbar(0);
- }
- }
- else if (ladenAlpha == 255 && prozent5 != 100)
- {
- prozent5 += val;
- if (prozent5 >= 100)
- {
- prozent5 = 100;
- gruppe->setSichtbar(0);
- anmeldung->setSichtbar(0);
- teamAuswahl->setSichtbar(1);
- jetzt = 5;
- }
- pos = begPos + (Punkt)(((Vec2< double >)(pos4 - begPos) / 100.0) * prozent5);
- gr = begGröße + (Punkt)(((Vec2< double >)(größe4 - begGröße) / 100.0) * prozent5);
- }
- else if (prozent5 == 100)
- {
- alpha += val * 3;
- if (alpha > 255)
- alpha = 255;
- ladenAlpha -= val * 3;
- if (ladenAlpha <= 0)
- {
- ladenAlpha = 0;
- animation &= ~0x10;
- prozent5 = 0;
- }
- }
- rend = 1;
- }
- if ((animation | 0x20) == animation)
- {
- if (ladenAlpha < 255 && prozent6 == 0)
- {
- alpha -= val * 3;
- if (alpha < 0)
- alpha = 0;
- ladenAlpha += val * 3;
- if (ladenAlpha >= 255)
- {
- ladenAlpha = 255;
- teamAuswahl->setSichtbar(0);
- }
- }
- else if (ladenAlpha == 255 && prozent6 != 100)
- {
- prozent6 += val;
- if (prozent6 >= 100)
- {
- prozent6 = 100;
- spielAuswahl->setSichtbar(1);
- jetzt = 1;
- }
- pos = begPos + (Punkt)(((Vec2< double >)(pos2 - begPos) / 100.0) * prozent6);
- gr = begGröße + (Punkt)(((Vec2< double >)(größe2 - begGröße) / 100.0) * prozent6);
- }
- else if (prozent6 == 100)
- {
- alpha += val * 3;
- if (alpha > 255)
- alpha = 255;
- ladenAlpha -= val * 3;
- if (ladenAlpha <= 0)
- {
- ladenAlpha = 0;
- animation &= ~0x20;
- prozent6 = 0;
- }
- }
- rend = 1;
- }
- bool ret = rend;
- rend = 0;
- return ret;
- }
- void Spiele::doPublicMausEreignis(MausEreignis& me)
- {
- if (!sichtbar)
- return;
- if (animation)
- return;
- int mx = me.mx;
- int my = me.my;
- me.mx -= pos.x;
- me.my -= pos.y;
- int ak = 0;
- bool tmp = me.verarbeitet;
- oben->doPublicMausEreignis(me);
- ak = me.verarbeitet ? 1 : 0;
- links->doPublicMausEreignis(me);
- ak = me.verarbeitet && !ak ? 2 : ak;
- unten->doPublicMausEreignis(me);
- ak = me.verarbeitet && !ak ? 3 : ak;
- rechts->doPublicMausEreignis(me);
- ak = me.verarbeitet && !ak ? 4 : ak;
- if (tmp)
- ak = 0;
- switch (jetzt)
- {
- case 1:
- if (spielAuswahl)
- {
- spielAuswahl->doPublicMausEreignis(me);
- if (spielAuswahl->hatAuswahl() && spielAuswahl->istAuswahlErlubt())
- rechts->addStyle(Knopf::Style::Erlaubt);
- else
- rechts->removeStyle(Knopf::Style::Erlaubt);
- if (!spielAuswahl->getSeite())
- oben->removeStyle(Knopf::Style::Erlaubt);
- else
- oben->addStyle(Knopf::Style::Erlaubt);
- if (spielAuswahl->getSeite() < spielAuswahl->getSeiteAnzahl() - 1)
- unten->addStyle(Knopf::Style::Erlaubt);
- else
- unten->removeStyle(Knopf::Style::Erlaubt);
- links->removeStyle(Knopf::Style::Erlaubt);
- if (me.id != ME_RLinks)
- break;
- switch (ak)
- {
- case 1:
- spielAuswahl->blättern(1);
- break;
- case 3:
- spielAuswahl->blättern(0);
- break;
- case 4:
- if (rechts->hatStyle(Knopf::Style::Erlaubt))
- {
- karteAuswahl->setSpielId(spielAuswahl->zAuswahl()->getSpielId());
- spielAuswahl->setSichtbar(0);
- karteAuswahl->setSichtbar(1);
- jetzt = 2;
- }
- break;
- }
- }
- break;
- case 2:
- if (karteAuswahl)
- {
- karteAuswahl->doPublicMausEreignis(me);
- rechts->removeStyle(Knopf::Style::Erlaubt);
- if (!karteAuswahl->getSeite())
- oben->removeStyle(Knopf::Style::Erlaubt);
- else
- oben->addStyle(Knopf::Style::Erlaubt);
- if (karteAuswahl->getSeite() < karteAuswahl->getSeiteAnzahl() - 1)
- unten->addStyle(Knopf::Style::Erlaubt);
- else
- unten->removeStyle(Knopf::Style::Erlaubt);
- links->addStyle(Knopf::Style::Erlaubt);
- if (me.id != ME_RLinks)
- break;
- switch (ak)
- {
- case 1:
- karteAuswahl->blättern(1);
- break;
- case 2:
- karteAuswahl->setSichtbar(0);
- spielAuswahl->setSichtbar(1);
- jetzt = 1;
- break;
- case 3:
- karteAuswahl->blättern(0);
- break;
- }
- }
- break;
- case 3:
- anmeldung->doPublicMausEreignis(me);
- break;
- case 4:
- gruppe->doPublicMausEreignis(me);
- break;
- case 5:
- teamAuswahl->doPublicMausEreignis(me);
- break;
- case 6:
- statistik->doPublicMausEreignis(me);
- break;
- }
- me.mx = mx;
- me.my = my;
- }
- void Spiele::doTastaturEreignis(TastaturEreignis& te)
- {
- if (!sichtbar)
- return;
- switch (jetzt)
- {
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- gruppe->doTastaturEreignis(te);
- break;
- case 5:
- teamAuswahl->doTastaturEreignis(te);
- break;
- case 6:
- statistik->doTastaturEreignis(te);
- }
- }
- void Spiele::render(Bild& zRObj)
- {
- if (pos == pos1)
- return;
- int x = pos.x;
- int y = pos.y;
- int br = gr.x;
- int hö = gr.y;
- if (!zRObj.setDrawOptions(x, y, br, hö))
- return;
- rahmen->setSize(br, hö);
- rahmen->render(zRObj);
- int rbr = rahmen->getRBreite();
- zRObj.setAlpha((unsigned char)alpha);
- if (jetzt == 1 || jetzt == 2)
- {
- oben->render(zRObj);
- links->render(zRObj);
- unten->render(zRObj);
- rechts->render(zRObj);
- }
- if (!zRObj.setDrawOptions(rbr, rbr, br - rbr * 2, hö - rbr * 2))
- {
- zRObj.releaseDrawOptions();
- zRObj.releaseAlpha();
- return;
- }
- if (jetzt != 4 && jetzt != 5)
- {
- spielAuswahl->render(zRObj);
- karteAuswahl->render(zRObj);
- anmeldung->render(zRObj);
- }
- if (jetzt != 5)
- gruppe->render(zRObj);
- teamAuswahl->render(zRObj);
- statistik->render(zRObj);
- zRObj.releaseDrawOptions();
- zRObj.releaseAlpha();
- if (ladenAlpha && ladeAnimation->zAnimationData())
- {
- zRObj.setAlpha(ladenAlpha);
- zRObj.drawBild(br / 2 - 25, hö / 2 - 25, 50, 50, *ladeAnimation->zAnimationData()->zBild(ladenJetzt));
- zRObj.releaseAlpha();
- }
- zRObj.releaseDrawOptions();
- }
- bool Spiele::istAnimiert() const
- {
- return animation != 0;
- }
- bool Spiele::istSichtbar() const
- {
- return sichtbar || prozent1 != 0;
- }
- int Spiele::getKarteId() const
- {
- if (jetzt == 3)
- return anmeldung->getKarteId();
- if (jetzt == 4)
- return gruppe->getKarteId();
- if (jetzt == 5)
- return teamAuswahl->getKarteId();
- return 0;
- }
- int Spiele::getGruppeId() const
- {
- return gruppe->getGruppeId();
- }
- SpielerTeamStruktur* Spiele::getSTS() const
- {
- if (jetzt == 5)
- return teamAuswahl->getSTS();
- return 0;
- }
|