12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef WAVEMANAGER_H
- #define WAVEMANAGER_H
- #include "HitManager.h"
- #include "Foe.h"
- #include <vector>
- /**
- 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<Foe*> m_escadron;
- };
- #endif // WAVEMANAGER_H
|