00001 #include "cce/ImageManager.hpp" 00002 #include "cce/Carte.hpp" 00003 00004 using std::string; 00005 00006 namespace cce { 00007 00008 Carte::Carte() 00009 { 00010 00011 } 00012 00013 void Carte::init(const string &map) { 00014 LecteurFichier flux(map); 00015 creerCoucheTile(); 00016 creerCoucheDecor(); 00017 00018 lecture(flux); 00019 } 00020 00021 Carte::Carte(CoucheTile *ct, CoucheDecor *d) { 00022 ctile = ct; 00023 decor = d; 00024 } 00025 00026 void Carte::lecture(LecteurFichier& flux) { 00027 lireRessources(flux); 00028 ctile->lecture(flux); 00029 decor->lecture(flux); 00030 } 00031 00032 void Carte::lireRessources(LecteurFichier& flux) { 00033 flux.allerSection("id_ressource"); 00034 00035 int nbRessource = flux.lireInt(); 00036 flux.prochaineLigne(); 00037 00038 for (int i=0;i<nbRessource;i++) { 00039 int id = flux.lireInt(); 00040 string chemin = flux.lireString(); 00041 00042 if (!ImageManager::getInstance()->is_loaded(id)) 00043 ImageManager::getInstance()->load_asset(id,chemin); 00044 flux.prochaineLigne(); 00045 } 00046 } 00047 00048 void Carte::dessinerSur(RenderTarget& target) { 00049 ctile->dessinerSur(target); 00050 decor->dessinerSur(target); 00051 } 00052 00053 00054 } /* End of namespace cce */ 00055 00056