#ifndef TeamAuswahl_H #define TeamAuswahl_H #include "..\..\..\Strukturen\Strukturen.h" #include #include #include #include #include #include #include using namespace Framework; class TeamAuswahlListeSpieler { 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; int ref; public: // Konstruktor TeamAuswahlListeSpieler( SpielerTeamStruktur *sts, Schrift *zSchrift, 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 doMausEreignis( MausEreignis &me ); void render( int yOff, Bild &zRObj ); // constant int getAccountId() const; // Reference Counting TeamAuswahlListeSpieler *getThis(); TeamAuswahlListeSpieler *release(); }; class TeamAuswahlListeTeam { 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; int ref; public: // Konstruktor TeamAuswahlListeTeam( Schrift *zSchrift ); // 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 doMausEreignis( MausEreignis &me ); void render( int yOff, Bild &zRObj ); // constant int getTeamNummer() const; int getHöhe() const; bool istPlatzFrei() const; int getMaxSpieler() const; Text *zName() const; TeamAuswahlListeSpieler *getSpielerDaten( int accountId ) const; TeamAuswahlListeSpieler *zSpielerDaten( int accountId ) const; // Reference Counting TeamAuswahlListeTeam *getThis(); TeamAuswahlListeTeam *release(); }; class TeamAuswahlListe { private: LRahmen *rahmen; VScrollBar *scroll; RCArray< TeamAuswahlListeTeam > *teams; Schrift *schrift; SpielerTeamStruktur *sts; int teamAnzahl; int karteId; bool rend; int ref; public: // Konstruktor TeamAuswahlListe( Schrift *zSchrift, 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 doMausEreignis( MausEreignis &me ); void render( Bild &zRObj ); // constant // Reference Counting TeamAuswahlListe *getThis(); TeamAuswahlListe *release(); }; class TeamAuswahlTimer { private: TextFeld *zeit; Knopf *bestätigen; int time; int maxTime; double grad; bool rend; int ref; public: // Konstruktor TeamAuswahlTimer( Schrift *zSchrift ); // Destruktor ~TeamAuswahlTimer(); // nicht constant void setVerbleibendeZeit( int sekunden ); bool doMausEreignis( MausEreignis &me ); bool tick( double tickVal ); void render( Bild &zRObj ); // constant int getZeit() const; // Reference Counting TeamAuswahlTimer *getThis(); TeamAuswahlTimer *release(); }; class TeamAuswahlChat { private: TextFeld *nachricht; Knopf *senden; TextFeld *verlauf; LRahmen *rahmen; bool rend; int ref; public: // Konstruktor TeamAuswahlChat( Schrift *zSchrift ); // Destruktor ~TeamAuswahlChat(); // nicht constant void addNachricht( char *nachricht ); bool tick( double tickVal ); void doMausEreignis( MausEreignis &me ); void doTastaturEreignis( TastaturEreignis &te ); void render( Bild &zRObj ); // constant // Reference Counting TeamAuswahlChat *getThis(); TeamAuswahlChat *release(); }; class TeamAuswahl { private: double tickVal; int animation; bool sichtbar; int karteId; unsigned char alpha; SpielerTeamStruktur *sts; TeamAuswahlChat *chat; TeamAuswahlTimer *timer; TeamAuswahlListe *liste; Schrift *schrift; bool rend; int ref; public: // Konstruktor TeamAuswahl( Schrift *zSchrift ); // 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( char *nachricht ); bool tick( double tickVal ); void doMausEreignis( MausEreignis &me ); void doTastaturEreignis( TastaturEreignis &te ); void render( Bild &zRObj ); // constant bool istSichtbar() const; int getKarteId() const; SpielerTeamStruktur *getSTS() const; // Reference Counting TeamAuswahl *getThis(); TeamAuswahl *release(); }; // Event Aktionen void TeamAuswahlListeSpielerTeamAuswahlE( void *p, AuswahlBox *obj, int p1, int p2 ); #endif