#ifndef Menü_H #define Menü_H #include #include #include #include #include #include "Map.h" using namespace Framework; class MenüVerloren { private: Rahmen *ram; TextFeld *verloren; Knopf *neu; Knopf *beenden; int ref; public: // Kontruktor MenüVerloren( Schrift *zSchrift ); // Destruktor ~MenüVerloren(); // nicht constant int doPublicMausEreignis( MausEreignis &me ); bool tick( double tickVal ); void render( Bild &zRObj ); // Reference Counting MenüVerloren *getThis(); MenüVerloren *release(); }; class MenüSpiel { private: TextFeld *scoreT; Knopf *beenden; Map *map; MenüVerloren *verloren; double timePuffer; bool beendet; int ref; public: // Konstruktor MenüSpiel( Schrift *zSchrift, Bildschirm *zScreen, KSGClient::MinigameServerClient *klient ); // Destruktor ~MenüSpiel(); // nicht constant void reset(); void doPublicMausEreignis( MausEreignis &me ); void doTastaturEreignis( TastaturEreignis &te ); bool tick( double tickVal ); void render( Bild &zRObj ); // constant bool istBeendet() const; // Reference Counting MenüSpiel *getThis(); MenüSpiel *release(); }; class MenüWiederhohlung { private: TextFeld *scoreT; Knopf *beenden; Map *map; Datei *datei; double nowTime; double nextTime; bool beendet; double timePuffer; int ref; public: // Konstruktor MenüWiederhohlung( Schrift *zSchrift, Bildschirm *zScreen, Datei *datei, Text *zOptionen ); // Destruktor ~MenüWiederhohlung(); // nicht constant void doPublicMausEreignis( MausEreignis &me ); void doTastaturEreignis( TastaturEreignis &te ); bool tick( double tickVal ); void render( Bild &zRObj ); // constant bool istBeendet() const; // Reference Counting MenüWiederhohlung *getThis(); MenüWiederhohlung *release(); }; class MenüStatistik { private: TextFeld *ansichtT; AuswahlBox *ansicht; KontrollKnopf *optionen; ObjTabelle *gesammtT; ObjTabelle *optionenT; ObjTabelle *worldBestT; LDiag *gesammtD; LDiag *optionenD; Knopf *removen; Knopf *zurück; Schrift *schrift; TextRenderer *tr; KSGClient::MinigameServerClient *klient; MenüWiederhohlung *wiederH; Bildschirm *screen; bool asyncFinished; bool beendet; int ref = 1; public: // Konstruktor MenüStatistik( Schrift *zSchrift, Bildschirm *zScreen, KSGClient::MinigameServerClient *klient ); // Destruktor ~MenüStatistik(); // nicht constant void reset(); void doPublicMausEreignis( MausEreignis &me ); bool tick( double tickVal ); void render( Bild &zRObj ); // constant bool istBeendet() const; bool istWiederhohlung() const; // Reference Counting MenüStatistik *getThis(); MenüStatistik *release(); }; class MenüOptionen { private: TextFeld *breiteT; TextFeld *breite; TextFeld *höheT; TextFeld *höhe; TextFeld *bAnzahlT; TextFeld *bAnzahl; TextFeld *tempoT; TextFeld *tempo; KontrollKnopf *fortsetzen; Knopf *abbrechen; Knopf *ok; bool beendet; int ref; public: // Konstruktor MenüOptionen( Schrift *zSchrift, Bildschirm *zScreen ); // Destruktor ~MenüOptionen(); // nicht constant void reset(); void doPublicMausEreignis( MausEreignis &me ); void doTastaturEreignis( TastaturEreignis &te ); bool tick( double tickVal ); void render( Bild &zRObj ); // constant bool istBeendet() const; // Reference Counting MenüOptionen *getThis(); MenüOptionen *release(); }; class Menü { private: Knopf *spielen; MenüSpiel *spielenF; Knopf *optionen; MenüOptionen *optionenF; Knopf *statistik; MenüStatistik *statistikF; Knopf *beenden; Bild *hintergrund; Rahmen *ram; bool beendet; int status; int ref; public: // Konstruktor Menü( Schrift *zSchrift, Bildschirm *zScreen, KSGClient::MinigameServerClient *klient ); // Destruktor ~Menü(); // nicht constant void reset(); void doPublicMausEreignis( MausEreignis &me ); void doTastaturEreignis( TastaturEreignis &te ); bool tick( double z ); void render( Bild &zRObj ); // constant bool istBeendet() const; // Reference Counting Menü *getThis(); Menü *release(); }; #endif