Arme.h 889 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef ARME_H
  2. #define ARME_H
  3. #include "../Structures/Affichable.h"
  4. #include "../Tirs/Tirs_Gest.h"
  5. #define NB_MODELS 9
  6. enum WeaponType { GUN, FUSIL, SHOTGUN, USIANE, SCATTER, BAROUDEUR, SULFATEUSE, TRIPHASEUR, BOMBER };
  7. class Arme
  8. {
  9. /// Fonctions
  10. public:
  11. Arme( int degats, WeaponType model, Tirs_Gest* tirsGest, Uint32 freqShot );
  12. virtual ~Arme();
  13. WeaponType getModel();// Permet de prendre la bonne surface dans le sprite loader
  14. void gachette(Vec pos, Vec visee, bool allie);// Appelée par Perso, tire si la fréquence est respectée
  15. protected :
  16. virtual void tirer(Vec pos, Vec visee, bool allie) = 0;// Tire selon le modèle de l'arme
  17. /// Attributs
  18. protected:
  19. int m_degats;
  20. WeaponType m_model;
  21. Tirs_Gest* m_tirsGest;
  22. Uint32 m_lastShot;
  23. const Uint32 m_freqShot;
  24. };
  25. #endif // ARME_H