--- a/src/GameState.hh Tue Jan 13 21:36:43 2009 +0200
+++ b/src/GameState.hh Tue Jan 13 23:15:47 2009 +0200
@@ -15,6 +15,14 @@
#include <stdexcept>
#include <cmath>
+class GameStateEventHandler {
+ friend class GameState;
+
+ protected:
+ virtual void on_player_joined (Player *p) = 0;
+ virtual void on_player_left (Player *p) = 0;
+};
+
class GameState {
public:
std::list<Player*> player_list;
@@ -26,12 +34,24 @@
*/
LocalPlayer *local_player;
+protected:
+ /**
+ * Notify someone about events?
+ */
+ GameStateEventHandler *event_handler;
+
+public:
/**
* ...
*
* This should take some arguments
*/
GameState (void);
+
+ /**
+ * Set event handler, only one can be set
+ */
+ void setEventHandler (GameStateEventHandler *handler);
/**
* Adds projectile to our list of projectiles to draw