From 0dc46b5e7c9d8fe18084096c080b3957a831833b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matt=C3=A9o=20Delabre?= Date: Tue, 8 Mar 2016 22:50:42 +0100 Subject: [PATCH] =?UTF-8?q?Utilisation=20de=20pointeurs=20natifs=20plut?= =?UTF-8?q?=C3=B4t=20qu'intelligents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- engine.cpp | 8 ++++---- engine.hpp | 3 +-- object.hpp | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/engine.cpp b/engine.cpp index 3bd642e..f210878 100644 --- a/engine.cpp +++ b/engine.cpp @@ -69,7 +69,7 @@ Engine::Engine() { void Engine::update(State state) { // demande la mise à jour de tous les objets du jeu for (int i = 0; i < objects.size(); i++) { - objects[i]->update(state, delta); + objects[i]->update(state); } } @@ -78,8 +78,7 @@ void Engine::draw() { window.clear(sf::Color(66, 165, 245)); // chargement de la file d'affichage des objets - typedef std::unique_ptr ObjectPtr; - std::priority_queue, CompareObjectLayer> display_queue; + std::priority_queue, CompareObjectLayer> display_queue; for (int i = 0; i < objects.size(); i++) { display_queue.push(objects[i]); @@ -89,6 +88,7 @@ void Engine::draw() { unsigned int layer = 0; while (!display_queue.empty()) { - display_queue.pop()->draw(window); + display_queue.top()->draw(window); + display_queue.pop(); } } diff --git a/engine.hpp b/engine.hpp index 2845a25..dfc9f17 100644 --- a/engine.hpp +++ b/engine.hpp @@ -2,7 +2,6 @@ #define PTF_ENGINE_HPP #include -#include #include #include "state.hpp" #include "object.hpp" @@ -19,7 +18,7 @@ private: bool goLeftKey; bool goRightKey; - std::vector> objects; + std::vector objects; public: Engine(); diff --git a/object.hpp b/object.hpp index 34c6199..d063cae 100644 --- a/object.hpp +++ b/object.hpp @@ -44,8 +44,8 @@ public: * qui doit être dessinée avant celle du second */ struct CompareObjectLayer { - bool operator()(Object const &obj1, Object const &obj2) { - return obj1.getLayer() < obj2.getLayer(); + bool operator()(Object* const &obj1, Object* const &obj2) { + return obj1->getLayer() < obj2->getLayer(); } };