00001 00002 // Shoot(r) 00009 00010 #ifndef FX_H 00011 #define FX_H 00012 00013 #include "ctrl_particule.h" 00014 #include "entite.h" 00015 #include "fx_particule.h" 00016 #include "util.h" 00017 #include "texture.h" 00018 00019 #define PARTICULE_NOMBRE 128 00020 00022 class CParticleSystem 00023 { 00024 friend void CParticleManager::Kill (unsigned int uiIndex); 00025 00026 protected: 00027 CEntite* m_pProprietaire; 00028 CParticule *m_pParticule[PARTICULE_NOMBRE]; 00029 float m_fTailleParticule; 00030 CTexture *m_pTexture; 00031 bool m_bSupprime; 00032 CTimer m_Timer; 00033 CCouleur m_Couleur; 00034 00036 int GetIndexLibre () const; 00038 bool EstDansEcran (CVecteur Position, float fRayon) const; 00039 00040 CParticleSystem (); 00041 virtual ~CParticleSystem (); 00042 00043 public: 00049 const CParticule* const GetParticuleParIndex (unsigned int uiIndex) const; 00050 00052 virtual void Update () = 0; 00054 virtual void Init () = 0; 00056 bool GetSupprime () const {return m_bSupprime;} 00058 CTexture* GetTexture () const {return m_pTexture;} 00060 CCouleur GetCouleur () const {return m_Couleur;} 00062 float GetTaille () const {return m_fTailleParticule;} 00063 }; 00064 00065 #endif //FX_H
1.3.8