#ifndef TeamAuswahl_H #define TeamAuswahl_H #include "..\..\..\Strukturen\Strukturen.h" #include #include #include #include #include #include #include #include using namespace Framework; class TeamAuswahlListeSpieler : public virtual ReferenceCounter { private: int accountId; TextFeld* name; AuswahlBox* teamAuswahl; TextFeld* team; TextFeld* punkte; TextFeld* spiele; TextFeld* gewonnen; TextFeld* farbe; int spielerFarbe; LRahmen* rahmen; Text* teamName; SpielerTeamStruktur* sts; bool rend; public: // Konstruktor TeamAuswahlListeSpieler(SpielerTeamStruktur* sts, int accountId, int karteId); // Destruktor ~TeamAuswahlListeSpieler(); // nicht constant void disable(); void spielerTeamAuswahlE(AuswahlBox* obj, int p1, int p2); void setFarbe(int farbe); void setTeam(Text* zName); void setTeamErlaubt(Text* zName, bool erlaubt, int teamFarbe); bool tick(double tickVal); void doPublicMausEreignis(MausEreignis& me); void render(int yOff, Bild& zRObj); // constant int getAccountId() const; }; class TeamAuswahlListeTeam : public virtual ReferenceCounter { private: int maxSpieler; int jetztSpieler; int team; TextFeld* name; TextFeld* mjSpieler; TextFeld* farbe; int teamFarbe; RCArray< TeamAuswahlListeSpieler >* spieler; LRahmen* rahmen; AlphaFeld* titelAf; Text* teamName; double tickVal; int höhe; bool rend; public: // Konstruktor TeamAuswahlListeTeam(); // Destruktor ~TeamAuswahlListeTeam(); // nicht constant void disable(); void setMaxSpieler(int maxSpieler); void setName(Text* name); void setFarbe(int farbe); void setTeam(int team); void addSpieler(TeamAuswahlListeSpieler* spieler); void removeSpieler(int accountId); void setTeamErlaubt(Text* zName, bool erlaubt, int teamFarbe); bool tick(double tickVal); void doPublicMausEreignis(MausEreignis& me); void render(int yOff, Bild& zRObj); // constant int getTeamNummer() const; int getHeight() const; bool istPlatzFrei() const; int getMaxSpieler() const; Text* zName() const; TeamAuswahlListeSpieler* getSpielerDaten(int accountId) const; TeamAuswahlListeSpieler* zSpielerDaten(int accountId) const; }; class TeamAuswahlListe : public virtual ReferenceCounter { private: LRahmen* rahmen; VScrollBar* scroll; RCArray< TeamAuswahlListeTeam >* teams; SpielerTeamStruktur* sts; int teamAnzahl; int karteId; bool rend; public: // Konstruktor TeamAuswahlListe(SpielerTeamStruktur* sts, int karteId); // Destruktor ~TeamAuswahlListe(); // nicht constant void disable(); void setTeamVonSpieler(int accountId, int spielerNummer); void addSpieler(int accountId); void removeSpieler(int accountId); bool tick(double tickVal); void doPublicMausEreignis(MausEreignis& me); void render(Bild& zRObj); }; class TeamAuswahlTimer : public virtual ReferenceCounter { private: TextFeld* zeit; Knopf* bestätigen; int time; int maxTime; double grad; bool rend; public: // Konstruktor TeamAuswahlTimer(); // Destruktor ~TeamAuswahlTimer(); // nicht constant void setVerbleibendeZeit(int sekunden); bool doPublicMausEreignis(MausEreignis& me); bool tick(double tickVal); void render(Bild& zRObj); // constant int getZeit() const; }; class TeamAuswahlChat : public virtual ReferenceCounter { private: TextFeld* nachricht; Knopf* senden; TextFeld* verlauf; LRahmen* rahmen; bool rend; public: // Konstruktor TeamAuswahlChat(); // Destruktor ~TeamAuswahlChat(); // nicht constant void addNachricht(const char* nachricht); bool tick(double tickVal); void doPublicMausEreignis(MausEreignis& me); void doTastaturEreignis(TastaturEreignis& te); void render(Bild& zRObj); }; class TeamAuswahl : public virtual ReferenceCounter { private: double tickVal; int animation; bool sichtbar; int karteId; unsigned char alpha; SpielerTeamStruktur* sts; TeamAuswahlChat* chat; TeamAuswahlTimer* timer; TeamAuswahlListe* liste; bool rend; public: // Konstruktor TeamAuswahl(); // Destruktor ~TeamAuswahl(); // nicht constant void setKarteId(int karteId); void setSichtbar(bool sichtbar, bool sofort = 0); void initSTS(SpielerTeamStruktur* sts); void addSpieler(int accountId); void setSpielerNummer(int accountId, int sNummer); void removeSpieler(int accountId); void verbleibendeZeit(int sekunden); void addNachricht(const char* nachricht); bool tick(double tickVal); void doPublicMausEreignis(MausEreignis& me); void doTastaturEreignis(TastaturEreignis& te); void render(Bild& zRObj); // constant bool istSichtbar() const; int getKarteId() const; SpielerTeamStruktur* getSTS() const; }; // Event Aktionen void TeamAuswahlListeSpielerTeamAuswahlE(void* p, AuswahlBox* obj, int p1, int p2); #endif