diff options
Diffstat (limited to 'src/net/manaserv/itemhandler.cpp')
-rw-r--r-- | src/net/manaserv/itemhandler.cpp | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/src/net/manaserv/itemhandler.cpp b/src/net/manaserv/itemhandler.cpp index dc3b9f14..2b8f631f 100644 --- a/src/net/manaserv/itemhandler.cpp +++ b/src/net/manaserv/itemhandler.cpp @@ -21,20 +21,18 @@ #include "net/manaserv/itemhandler.h" -#include "flooritemmanager.h" +#include "actorspritemanager.h" -#include "net/manaserv/protocol.h" +#include "net/manaserv/manaserv_protocol.h" #include "net/manaserv/messagein.h" -#include "game.h" -#include "map.h" #include "log.h" namespace ManaServ { ItemHandler::ItemHandler() { - static const Uint16 _messages[] = { + static const uint16_t _messages[] = { GPMSG_ITEMS, GPMSG_ITEM_APPEAR, 0 @@ -58,26 +56,11 @@ void ItemHandler::handleMessage(Net::MessageIn &msg) if (itemId) { - if (Game *game = Game::instance()) - { - if (Map *map = game->getCurrentMap()) - { - floorItemManager->create(id, - itemId, - x / map->getTileWidth(), - y / map->getTileHeight()); - } - else - { - logger->log( - "ItemHandler: An item wasn't created " - "because of Game/Map not initialized..."); - } - } + actorSpriteManager->createItem(id, itemId, Vector(x, y)); } - else if (FloorItem *item = floorItemManager->findById(id)) + else if (FloorItem *item = actorSpriteManager->findItem(id)) { - floorItemManager->destroy(item); + actorSpriteManager->destroy(item); } } } break; |