From d7fa7ea64f6bb0bc0b097e4bf1ceb4bd9620d0da Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Wed, 10 Apr 2013 23:04:42 +0200 Subject: Converted Being into a Component I did not really care too much about staying consistent with the use of static_casts to Actors since they are only temporary anyway until Actor is a component too. --- src/game-server/spawnareacomponent.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/game-server/spawnareacomponent.cpp') diff --git a/src/game-server/spawnareacomponent.cpp b/src/game-server/spawnareacomponent.cpp index 557a2da..843371a 100644 --- a/src/game-server/spawnareacomponent.cpp +++ b/src/game-server/spawnareacomponent.cpp @@ -67,10 +67,12 @@ void SpawnAreaComponent::update(Entity &entity) const int width = mZone.w; const int height = mZone.h; - Being *being = new Being(OBJECT_MONSTER); + Actor *being = new Actor(OBJECT_MONSTER); + auto *beingComponent = new BeingComponent(*being); + being->addComponent(beingComponent); being->addComponent(new MonsterComponent(*being, mSpecy)); - if (being->getModifiedAttribute(ATTR_MAX_HP) <= 0) + if (beingComponent->getModifiedAttribute(ATTR_MAX_HP) <= 0) { LOG_WARN("Refusing to spawn dead monster " << mSpecy->getId()); delete being; @@ -96,7 +98,7 @@ void SpawnAreaComponent::update(Entity &entity) being->setMap(map); being->setPosition(position); - being->clearDestination(); + beingComponent->clearDestination(*being); GameState::enqueueInsert(being); mNumBeings++; -- cgit