00001 #include <cce/ImageManager.hpp> 00002 #include "edt/GUI.hpp" 00003 #include "edt/Editeur.hpp" 00004 00005 00006 using cce::ImageManager; 00007 using edt::GUI; 00008 using std::string; 00009 using sf::View; 00010 using sf::FloatRect; 00011 00012 namespace edt { 00013 00014 00015 Editeur::Editeur() 00016 { 00017 00018 } 00019 00020 Editeur::~Editeur() 00021 { 00022 00023 } 00024 00025 void Editeur::init(const string& path_carte) { 00026 00027 fenetre = new sf::RenderWindow(sf::VideoMode( 1600, 900 ), "Hunters' World", sf::Style::Default ); 00028 fenetre->ShowMouseCursor(false); 00029 00030 fenetre->SetFramerateLimit(60); 00031 00032 GUI::getInstance()->init(); 00033 00034 00035 vue = new View(FloatRect(0,0,1600,900)); 00036 fenetre->SetView(*vue); 00037 00038 carte = new CarteEditable(path_carte); 00039 } 00040 00041 void Editeur::run() { 00042 00043 while (fenetre->IsOpened()) 00044 { 00045 GUI::getInstance()->tocHorloge(); 00046 00047 sf::Event Event; 00048 while (fenetre->PollEvent(Event)) 00049 { 00050 00051 if (GUI::getInstance()->captureEvent(Event)) { 00052 // Décommenter pour ignorer les events utilisés par CEGUI dans SFML 00053 //continue; 00054 } 00055 00056 00057 if (Event.Type == sf::Event::Closed){ 00058 fenetre->Close(); 00059 } 00060 } 00061 00062 fenetre->Clear(); 00063 fenetre->SetView(*vue); 00064 carte->dessinerSur(*fenetre); 00065 00066 GUI::getInstance()->dessiner(); 00067 fenetre->Display(); 00068 } 00069 } 00070 00071 sf::View* Editeur::getVueCourante(){ 00072 return vue; 00073 } 00074 00075 edt::CarteEditable* Editeur::getCarteCourante() 00076 { 00077 return carte; 00078 } 00079 00080 } /* End of namespace edt */