diff options
author | Erik Schilling <ablu.erikschilling@googlemail.com> | 2013-04-11 11:10:47 +0200 |
---|---|---|
committer | Erik Schilling <ablu.erikschilling@googlemail.com> | 2013-04-12 14:56:28 +0200 |
commit | 9e6a0f98ecb52e04ab5afce817cb1d7fe2076450 (patch) | |
tree | 97b6ffedbfbaf09389fe05c1d183471a97740ebb /src/game-server/item.cpp | |
parent | d7fa7ea64f6bb0bc0b097e4bf1ceb4bd9620d0da (diff) | |
download | manaserv-9e6a0f98ecb52e04ab5afce817cb1d7fe2076450.tar.gz manaserv-9e6a0f98ecb52e04ab5afce817cb1d7fe2076450.tar.bz2 manaserv-9e6a0f98ecb52e04ab5afce817cb1d7fe2076450.tar.xz manaserv-9e6a0f98ecb52e04ab5afce817cb1d7fe2076450.zip |
Moved Actor into an Component
This was the final step to remove the hierachy with Entity on the top.
Diffstat (limited to 'src/game-server/item.cpp')
-rw-r--r-- | src/game-server/item.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/game-server/item.cpp b/src/game-server/item.cpp index 2b2d4620..ed74e925 100644 --- a/src/game-server/item.cpp +++ b/src/game-server/item.cpp @@ -171,21 +171,23 @@ void ItemComponent::update(Entity &entity) { mLifetime--; if (!mLifetime) - GameState::enqueueRemove(static_cast<Actor*>(&entity)); + GameState::enqueueRemove(&entity); } } namespace Item { -Actor *create(MapComposite *map, +Entity *create(MapComposite *map, Point pos, ItemClass *itemClass, int amount) { - Actor *itemActor = new Actor(OBJECT_ITEM); + Entity *itemActor = new Entity(OBJECT_ITEM); + ActorComponent *actorComponent = new ActorComponent(*itemActor); + itemActor->addComponent(actorComponent); itemActor->addComponent(new ItemComponent(itemClass, amount)); itemActor->setMap(map); - itemActor->setPosition(pos); + actorComponent->setPosition(*itemActor, pos); return itemActor; } |