#ifndef WAVEMANAGER_H #define WAVEMANAGER_H #include "HitManager.h" #include "Foe.h" #include /** Jovian Hersemeule Description du WaveManager : Le WaveManager contient toutes les données à propos des ennemis, le numéro de la vague, leur quantité, taille, puissance. Il les affiche aussi, évidemment. **/ class WaveManager { /// Méthodes public: WaveManager(); virtual ~WaveManager(); void giveHitManager( HitManager* theHitManager ); virtual void draw( SDL_Surface* screen ); virtual void update(); // Actionne ennemis, collisions et vague suivante virtual void clean(); void reset(); // Réinitialise le niveau virtual bool allDead(); // Vrai si tout le monde est mort virtual bool hasWon(); // Vrai si la vague est terminée virtual bool hasLost(); // Vrai si un vaisseau ennemi arrive à sortir de l'écran void setPlanet( std::string planet ); // Charge un niveau std::vector< Foe* >* getFoes(); // Retourne un pointeur sur le tableau d'ennemis SDL_Rect nearestFromPoint( SDL_Rect pos_ref ); SDL_Rect nearestFromAxe( SDL_Rect pos_ref ); protected: virtual void nextWave(); /// Attributs private: Uint16 m_lvl; Uint32 m_chrono; bool m_allDead; bool m_complete; bool m_gameLost; std::string m_planet; HitManager* m_hiter; std::vector m_escadron; }; #endif // WAVEMANAGER_H