#ifndef MiniGames_H #define MiniGames_H #include #include #include "MiniGame.h" #include #include #include #include "DLLDateien.h" using namespace Framework; class MiniGames; // aus dieser Datei class API; class MGSuchen : private Thread { private: MiniGames * mGames; public: // Konstruktor MGSuchen( MiniGames *mGames ); // Destruktor ~MGSuchen(); // nicht constant void thread() override; }; class MGLaden : private Thread { private: Text * name; MiniGameV *game; DLLDateien *dLLs; API *api; int ref; public: // Konstruktor MGLaden( char *name, DLLDateien *zDLLs, API *api ); // Destruktor ~MGLaden(); // nicht constant void thread(); // constant bool fertig() const; MiniGameV *zGame() const; // Reference Counting MGLaden *getThis(); MGLaden *release(); }; class MiniGames : public Zeichnung { private: Punkt bildschirmGröße; LRahmen *rahmen; RCArray< MiniGame > *games; MGLaden *mgl; Schrift *schrift; DLLDateien *dLLs; Bildschirm *screen; API *api; double tickVal; int alpha2; int ref; public: // Konstruktor MiniGames( Schrift *zSchrift, DLLDateien *zDLLs, Bildschirm *zScreen, API *api ); // Destruktor ~MiniGames(); // nicht constant void addMiniGame( MiniGame *mg ); void doMausEreignis( MausEreignis &me ) override; void doTastaturEreignis( TastaturEreignis &te ) override; bool tick( double z ) override; void render( Bild &zRObj ) override; // Reference Counting MiniGames *getThis(); MiniGames *release(); }; class API : public MinigameAPI { private: WFenster *f; public: API( WFenster *wf ) { f = wf; } // legt fest ob das spiel im Vollbildmodus ausgeführt werden soll void setFullScreenMode( bool enabled ) { if( enabled ) { Punkt bildschirmGröße = BildschirmGröße(); bildschirmGröße.x++; bildschirmGröße.y++; f->setSize( bildschirmGröße ); f->setPosition( Punkt( 0, 0 ) ); } else { f->setSize( 800, 500 ); } f->zBildschirm()->setBackBufferSize( f->getGröße() ); f->zBildschirm()->update(); } }; #endif