00001 00002 // Shoot(r) 00009 00010 #ifndef ENTITE_H 00011 #define ENTITE_H 00012 00013 #include "ctrl_entite.h" 00014 #include "util.h" 00015 #include "texture.h" 00016 00017 typedef enum 00018 { 00019 ENTITE_NULL = 0, 00020 ENTITE_MIN = 1, 00021 ENTITE_BONUS = 1, 00022 ENTITE_ARME, 00023 ENTITE_ENNEMI, 00024 ENTITE_JOUEUR, 00025 ENTITE_MAX 00026 } EEntiteType; 00027 00029 class CEntite 00030 { 00032 friend void CEntityManager::Kill (unsigned int uiIndex); 00033 00034 protected: 00035 CTimer m_Timer; 00036 CVecteur m_PositionI, m_PositionF; 00037 CVecteur m_VitesseI, m_VitesseF; 00038 CVecteur m_Acceleration; 00039 int m_iBouclier; 00040 unsigned int m_uiPoint; 00041 00043 bool EstDansEcran (CVecteur Position, float fRayon) const; 00044 00045 CEntite (); 00046 virtual ~CEntite () {} 00047 00048 public: 00050 virtual CTexture* GetTexture () const = 0; 00052 virtual int GetDommage () const = 0; 00054 virtual void Update (); 00056 virtual EEntiteType GetType () const = 0; 00058 virtual float GetTaille () const = 0; 00060 virtual void AddDommage (int iDommage); 00061 00063 void Deplacer (const CVecteur & Deplacement) {m_PositionI += Deplacement;} 00065 CVecteur GetPosition () const {return m_PositionF;} 00067 void SetPosition (const CVecteur & Position) {m_PositionF = Position;} 00069 int GetBouclier () const {return m_iBouclier;} 00071 void SetBouclier (int iBouclier) {m_iBouclier = iBouclier;} 00072 }; 00073 00074 #endif // ENTITE_H 00075
1.3.8