From 9df38cf35e2ebd422d33b8cf744e9dcc23c6f578 Mon Sep 17 00:00:00 2001 From: El Saico Date: Fri, 4 Dec 2009 01:04:19 -0200 Subject: [PATCH] Agora funcionando. --- controlewii.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/controlewii.cpp b/controlewii.cpp index bf8b80f..1b3a67b 100644 --- a/controlewii.cpp +++ b/controlewii.cpp @@ -15,7 +15,6 @@ ControleWii::ControleWii(Player &p) : Controle(p) { } void ControleWii::handleOther() { - std::list::iterator it; Uint8 *keystates = SDL_GetKeyState( NULL ); if (keystates[SDLK_DOWN]) { jogador.onGround = false; @@ -42,6 +41,8 @@ void ControleWii::handleOther() { } void ControleWii::handleEvent(SDL_Event &e) { + std::list::iterator it; + bool pegou = false; switch( e.type ) { case SDL_USEREVENT: switch (e.user.code) { @@ -171,8 +172,12 @@ void ControleWii::handleEvent(SDL_Event &e) { for (it = map->items.begin(); it != map->items.end(); ++it) if (game->collisionManager->checkCollision(&jogador, (Thing*) *it)) { jogador.equip((*it)->getWeapon()); - map->items.erase(it); + pegou = true; + break; } + if (pegou) + map->items.erase(it); + break; default: break; } break; -- 2.11.4.GIT