Public Member Functions |
| event () |
| Constructor.
|
virtual | ~event () |
| Destructor.
|
void | clear () |
| Cleanup.
|
void | set_script (string filename, PyObject *args=NULL) |
| Sets a script to be executed whenever the event occurs.
|
void | set_callback (PyObject *callback, PyObject *args=NULL) |
| Sets a python function/method to be executed whenever the event occurs.
|
void | set_callback (const Functor0 &callback) |
| Sets a C function/C++ method to be executed whenever the event occurs.
|
|
u_int8 | type () const |
| Get the event's type.
|
const string & | id () const |
| Get the event's id.
|
void | set_id (const string &id) |
| Assign an id to the event, so it may be retrieved from an event_list later on, without having a pointer to it.
|
bool | registered () const |
| Test whether the event is registered with the event handler.
|
void | set_registered (bool reg) |
| Set whether the event is registered with the event handler.
|
void | set_list (event_list *list) |
| Tell the whether it is kept in an event_list.
|
s_int32 | repeat () const |
| Return whether this event should be repeated.
|
void | set_repeat (s_int32 count) |
| Set whether this event should be repeated.
|
|
virtual s_int32 | execute (const event *evnt)=0 |
| Execute the associated python script or callback.
|
virtual bool | equals (const event *evnt)=0 |
| Compare two events for equality.
|
|
virtual void | pause () |
| Disable the event temporarily.
|
virtual void | resume () |
| Re-enable an event that has been paused.
|
bool | is_paused () const |
| Check whether the event is temporarily disabled or not.
|
|
virtual void | put_state (ogzstream &out) const |
| Saves the basic event data (such as the type or script data) to a file.
|
virtual bool | get_state (igzstream &in) |
| Loads the basic event date from a file.
|
Protected Attributes |
|
u_int8 | Type |
| Event type - see enum above.
|
string | Id |
| (Optional) Id of the event
|
u_int8 | Action |
| What happens if the event occurs - see enum above.
|
bool | Registered |
| Whether the event is registered with the event handler.
|
bool | Paused |
| Whether the event temporarily disabled or not.
|
s_int32 | Repeat |
| Defines how often the event should be repeated.
|
py_object * | Script |
| The Python script accociated with this event.
|
PyObject * | Args |
| The arguments passed to the script.
|
py_callback * | PyFunc |
| Python callback that may be executed instead of the script.
|
Functor0 | Callback |
| C++ callback that may be executed when the event gets triggered.
|
event_list * | List |
| The event_list this event is kept in.
|
Base class for events.
You can create your own event types that can be handled by the event_list and event_handler by inheriting from this class.
Events are used to notify when certain things happen during the game. They may either execute the "run" method of an exclusive python script or a simple python callback defined elsewhere.
Definition at line 71 of file event.h.
Disable the event temporarily.
As long as it in this state, the event will neither be executed, nor will its repeat-count change. As long as the event is paused, it will be removed from its event handler.
Reimplemented in time_event.
Definition at line 223 of file event.cc.
void event::put_state |
( |
ogzstream & |
out | ) |
const |
|
virtual |
Saves the basic event data (such as the type or script data) to a file.
Call this method from the derived class.
@param out file where to save the %event.
Reimplemented in time_event, and map_event.
Definition at line 137 of file event.cc.
Decrease the event's repeat count and return the number of repeats left.
If the repeat-count reaches 0, the event will be destroyed.
@return the number of times this event should be repeated or
-1 in case it should be repeated unlimited times.
Definition at line 237 of file event.cc.