00001 00008 #ifndef _BEHAVIOREFFECT_H 00009 #define _BEHAVIOREFFECT_H 00010 00011 #include "effects.h" 00012 00021 class BehaviorEffect : public Effect { 00022 public: 00027 BehaviorEffect() { } 00028 00033 BehaviorEffect(Actor *sender, int magnitude) : 00034 Effect( sender ), _magnitude(magnitude) { } 00035 00039 int get_magnitude() 00040 { return _magnitude; } 00041 00042 virtual RecList& get_receiver_list() 00043 { return _receiver_list; } 00044 protected: 00045 int _magnitude; 00046 private: 00047 static RecList _receiver_list; 00048 }; 00049 00050 #define TO_BEHAVIOR_EFFECT(pobj) TO_EFFECT(pobj, BehaviorEffect) 00051 #define IS_BEHAVIOR_EFFECT(pobj) TO_BEHAVIOR_EFFECT(pobj) 00052 00053 #endif // header guard