diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2007-03-31 12:15:39 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2007-03-31 12:15:39 +0000 |
commit | e0c185864c09cebd3a7a0118d20ca3a368cbdb6e (patch) | |
tree | ef1b06b20e1d5ef2ae94a8b0a6ea739619fb4eed /src/game-server/being.hpp | |
parent | eba3a8635b308475aa4bcfc5f5cd058c48ed679d (diff) | |
download | manaserv-e0c185864c09cebd3a7a0118d20ca3a368cbdb6e.tar.gz manaserv-e0c185864c09cebd3a7a0118d20ca3a368cbdb6e.tar.bz2 manaserv-e0c185864c09cebd3a7a0118d20ca3a368cbdb6e.tar.xz manaserv-e0c185864c09cebd3a7a0118d20ca3a368cbdb6e.zip |
Added a DeathListener interface, which the SpawnArea now uses to get notified
about dying beings, so that it knows when to spawn more.
Diffstat (limited to 'src/game-server/being.hpp')
-rw-r--r-- | src/game-server/being.hpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/game-server/being.hpp b/src/game-server/being.hpp index 4423c68e..e0d064bd 100644 --- a/src/game-server/being.hpp +++ b/src/game-server/being.hpp @@ -31,6 +31,7 @@ #include "game-server/movingobject.hpp" class Being; +class DeathListener; class MapComposite; /** @@ -208,6 +209,22 @@ class Being : public MovingObject unsigned short getAttribute(int attributeNumber) const { return mAttributes.at(attributeNumber); } + /** + * Adds a death listener. + */ + void addDeathListener(DeathListener *listener) + { + mDeathListeners.push_back(listener); + } + + /** + * Removes a death listener. + */ + void removeDeathListener(DeathListener *listener) + { + mDeathListeners.remove(listener); + } + protected: /** * Calculates all derived attributes of a beings @@ -229,6 +246,7 @@ class Being : public MovingObject Being(Being const &rhs); Being &operator=(Being const &rhs); + std::list<DeathListener*> mDeathListeners; Hits mHitsTaken; /**< List of punches taken since last update */ }; |