summaryrefslogtreecommitdiffstats
path: root/src/game-server/spawnarea.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2007-03-31 12:15:39 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2007-03-31 12:15:39 +0000
commite0c185864c09cebd3a7a0118d20ca3a368cbdb6e (patch)
treeef1b06b20e1d5ef2ae94a8b0a6ea739619fb4eed /src/game-server/spawnarea.cpp
parenteba3a8635b308475aa4bcfc5f5cd058c48ed679d (diff)
downloadmanaserv-e0c185864c09cebd3a7a0118d20ca3a368cbdb6e.tar.gz
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/spawnarea.cpp')
-rw-r--r--src/game-server/spawnarea.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/game-server/spawnarea.cpp b/src/game-server/spawnarea.cpp
index 5643047..9d7a4eb 100644
--- a/src/game-server/spawnarea.cpp
+++ b/src/game-server/spawnarea.cpp
@@ -30,7 +30,6 @@
/*
* TODO: Take into account spawn rate.
- * TODO: Be a death listener to spawned monsters, to adjust mNumBeings.
* TODO: Allow specifying being type and use it.
*/
@@ -51,6 +50,7 @@ SpawnArea::update()
while (mNumBeings < mMaxBeings)
{
Being *being = new Monster();
+ being->addDeathListener(this);
// some bogus stats for testing
being->setSpeed(150);
@@ -66,3 +66,9 @@ SpawnArea::update()
mNumBeings++;
}
}
+
+void
+SpawnArea::died(Being *being)
+{
+ mNumBeings--;
+}