00001 #include "edt/CarteEditable.hpp" 00002 #include <cce/ImageManager.hpp> 00003 00004 using cce::ImageManager; 00005 00006 namespace edt { 00007 00008 CarteEditable::CarteEditable(const int &largeur, const int &hauteur) : Carte(new CoucheTileEditable(largeur,hauteur), 00009 new CoucheDecorEditable()) 00010 { 00011 00012 } 00013 00014 CarteEditable::CarteEditable(const std::string& map) : Carte() 00015 { 00016 init(map); 00017 } 00018 00019 void CarteEditable::enregistrement(EnregistreurFichier& flux) const { 00020 getCoucheTileEditable()->enregistrement(flux); 00021 getCoucheDecorEditable()->enregistrement(flux); 00022 } 00023 00024 CoucheTileEditable* CarteEditable::getCoucheTileEditable() const { 00025 return static_cast<CoucheTileEditable*> (ctile); 00026 } 00027 00028 CoucheDecorEditable* CarteEditable::getCoucheDecorEditable() const { 00029 return static_cast<CoucheDecorEditable*> (decor); 00030 } 00031 00032 void CarteEditable::creerCoucheTile() 00033 { 00034 ctile = new CoucheTileEditable(); 00035 } 00036 00037 void CarteEditable::creerCoucheDecor() 00038 { 00039 decor = new CoucheDecorEditable(); 00040 } 00041 00042 void CarteEditable::ecrireRessources(EnregistreurFichier& flux) const { 00043 flux.ecrireSection("id_ressource"); 00044 /* 00045 * TODO: enregistrement des ressources lorsque iterateur pret 00046 * 00047 std::pair <typename std::map<int, sf::Texture>::iterator, typename std::map<int, sf::Texture>::iterator> pair; 00048 pair.first; 00049 00050 int nbRessource = flux.lireInt(); 00051 flux.prochaineLigne(); 00052 00053 for (int i=0;i<nbRessource;i++) { 00054 int id = flux.lireInt(); 00055 string chemin = flux.lireString(); 00056 00057 if (!ImageManager::getInstance()->is_loaded(id)) 00058 ImageManager::getInstance()->load_asset(id,chemin); 00059 flux.prochaineLigne(); 00060 } 00061 */ 00062 } 00063 00064 } /* End of namespace edt */