00001 00002 00003 00004 00005 00006 00007 #ifndef cce_Carte_hpp 00008 #define cce_Carte_hpp 00009 #include <string> 00010 #include <bib/io/ILisible.hpp> 00011 #include "IDessinable.hpp" 00012 #include "CoucheTile.hpp" 00013 #include "CoucheDecor.hpp" 00014 00015 using std::string; 00016 using bib::io::ILisible; 00017 00018 namespace cce { 00019 00020 class Carte : public ILisible, public IDessinable { 00021 00022 public: 00023 00028 Carte(); 00029 00034 void init(const string &map); 00035 00040 Carte(CoucheTile *ct, CoucheDecor *d); 00041 00045 void dessinerSur(RenderTarget& cible); 00046 00050 void lecture(LecteurFichier& flux); 00051 00061 void lireRessources(LecteurFichier& flux); 00062 00063 00064 00065 protected: 00066 virtual void creerCoucheTile() = 0; 00067 virtual void creerCoucheDecor() = 0; 00068 00069 CoucheTile * ctile; 00070 CoucheDecor * decor; 00071 }; 00072 00073 } /* End of namespace cce */ 00074 00075 #endif // cce_Carte_h