//
// EventObserver.h
//

#ifndef __EVENT_OBSERVER_H__
#define __EVENT_OBSERVER_H__

#include "GameObjectList.h"
#include "Event.h"

#define MAX_EVENTS 100

class EventObserver {

 protected:
  string _event[MAX_EVENTS];
  GameObjectList obj_list[MAX_EVENTS];
  int event_list_count;
  bool isValid(string event_name);
  
 public:
  EventObserver();
  ~EventObserver();
  void onEvent(Event *p_event);
  int registerInterest(GameObject *p_go, string event_name);
  int unregisterInterest(GameObject *p_go, string event_name);
};

#endif // __EVENT_OBSERVER_H__


