Page principale | Hiérarchie des classes | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier

xml_niveau.h

Aller à la documentation de ce fichier.
00001 00002 // Shoot(r) 00009 00010 #ifndef XML_NIVEAU_H 00011 #define XML_NIVEAU_H 00012 00013 #include "../lib/libxml2/include/tree.h" 00014 #include "../lib/libxml2/include/xmlmemory.h" 00015 #include "../lib/libxml2/include/parser.h" 00016 00017 #include "type_arme.h" 00018 #include "type_bonus_arme.h" 00019 #include "type_bonus_bouclier.h" 00020 #include "type_ennemi.h" 00021 00022 #include <string> 00023 #include <map> 00024 #include <vector> 00025 00026 #define FICHIER_XML_NIVEAU "./data/niveau.xml" 00027 00029 typedef struct 00030 { 00031 float m_fBonusArmeFrequence; 00032 std::vector<CTypeBonusArme*> m_TypeBonusArme; 00033 00034 float m_fBonusBouclierFrequence; 00035 std::vector<CTypeBonusBouclier*> m_TypeBonusBouclier; 00036 00037 unsigned int m_uiEnnemiNombre; 00038 float m_fEnnemiFrequence; 00039 std::vector<CTypeEnnemi*> m_TypeEnnemi; 00040 } SNiveau; 00041 00043 class CXMLNiveau 00044 { 00045 private: 00046 std::vector<SNiveau> m_Niveaux; 00047 00049 std::map<unsigned int, CTypeBonusArme*> m_TypeBonusArme; 00051 std::map<unsigned int, CTypeBonusBouclier*> m_TypeBonusBouclier; 00053 std::map<unsigned int, CTypeEnnemi*> m_TypeEnnemi; 00054 00056 CTypeBonusArme* GetTypeBonusArmeParIndex (unsigned int uiIndex) const; 00058 CTypeBonusBouclier* GetTypeBonusBouclierParIndex (unsigned int uiIndex) const; 00060 CTypeEnnemi* GetTypeEnnemiParIndex (unsigned int uiIndex) const; 00061 00063 void Jeu (xmlNode* pNode); 00065 void BonusArmes (xmlNode* pNode); 00067 std::pair<unsigned int, CTypeBonusArme*> BonusArme (xmlNode* pNode); 00069 CVecteur Ancrage (xmlNode* pNode); 00071 void BonusBoucliers (xmlNode* pNode); 00073 std::pair<unsigned int, CTypeBonusBouclier*> BonusBouclier (xmlNode* pNode); 00075 void Ennemis (xmlNode* pNode); 00077 std::pair<unsigned int, CTypeEnnemi*> Ennemi (xmlNode* pNode); 00079 CTypeArme* Arme (xmlNode* pNode); 00081 void Niveaux (xmlNode* pNode); 00083 SNiveau Niveau (xmlNode* pNode); 00085 void IndexArmes (xmlNode* pNode, SNiveau & Niveau); 00087 void IndexEnnemis (xmlNode* pNode, SNiveau & Niveau); 00089 void IndexBoucliers (xmlNode* pNode, SNiveau & Niveau); 00091 int IndexAttribute (xmlNode* pNode); 00092 00094 unsigned int CompterChildren (xmlNode* pNode); 00096 bool Validation (xmlDoc* pDocument); 00097 00098 public: 00099 CXMLNiveau (); 00100 ~CXMLNiveau (); 00101 00103 unsigned int GetEnnemiNombre (unsigned int uiNiveau) const; 00105 unsigned int GetNiveauNombre () const; 00107 float GetEnnemiFrequence (unsigned int uiNiveau) const; 00109 float GetBonusArmeFrequence (unsigned int uiNiveau) const; 00111 float GetBonusBouclierFrequence (unsigned int uiNiveau) const; 00112 00114 CTypeBonusArme* GetTypeBonusArme (unsigned int uiNiveau) const; 00116 CTypeBonusBouclier* GetTypeBonusBouclier (unsigned int uiNiveau) const; 00118 CTypeEnnemi* GetTypeEnnemi (unsigned int uiNiveau) const; 00119 00121 bool Charger (const char* szFilename); 00122 }; 00123 00124 #endif //XML_NIVEAU_H

Généré le Sun Sep 26 11:36:47 2004 pour Shoot(r) par doxygen 1.3.8