summaryrefslogtreecommitdiff
path: root/src/game-server/entity.cpp
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-04-15 22:15:31 +0200
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-04-15 22:15:31 +0200
commitc53bc90dbaa876a86f762a3d864b1f920e2b8071 (patch)
tree1a8174f4d1745a4799210db970aa2230df622d34 /src/game-server/entity.cpp
parentb89e404f85358f2e3ff87d7731376dbeacdf9778 (diff)
parent81be8dc99ba7558c8915310eed095df43e3bdbf7 (diff)
downloadmanaserv-c53bc90dbaa876a86f762a3d864b1f920e2b8071.tar.gz
manaserv-c53bc90dbaa876a86f762a3d864b1f920e2b8071.tar.bz2
manaserv-c53bc90dbaa876a86f762a3d864b1f920e2b8071.tar.xz
manaserv-c53bc90dbaa876a86f762a3d864b1f920e2b8071.zip
Merge branch 'master' into lpc2012
Conflicts: src/account-server/accounthandler.cpp src/game-server/character.cpp
Diffstat (limited to 'src/game-server/entity.cpp')
-rw-r--r--src/game-server/entity.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/game-server/entity.cpp b/src/game-server/entity.cpp
index 6cb61e58..b40ac442 100644
--- a/src/game-server/entity.cpp
+++ b/src/game-server/entity.cpp
@@ -1,6 +1,7 @@
/*
* The Mana Server
* Copyright (C) 2007-2010 The Mana World Development Team
+ * Copyright (C) 2012 The Mana Developers
*
* This file is part of The Mana Server.
*
@@ -19,3 +20,27 @@
*/
#include "game-server/entity.h"
+
+Entity::Entity(EntityType type, MapComposite *map) :
+ mMap(map),
+ mType(type)
+{
+ for (int i = 0; i < ComponentTypeCount; ++i)
+ mComponents[i] = nullptr;
+}
+
+Entity::~Entity()
+{
+ for (int i = 0; i < ComponentTypeCount; ++i)
+ delete mComponents[i];
+}
+
+/**
+ * Updates the internal status. By default, calls update on all its components.
+ */
+void Entity::update()
+{
+ for (int i = 0; i < ComponentTypeCount; ++i)
+ if (mComponents[i])
+ mComponents[i]->update(*this);
+}