35 #define EVENTS_DIR "game_events."
108 const string &
id ()
const
205 void set_script (
string filename, PyObject * args = NULL);
217 void set_callback (PyObject *callback, PyObject *args = NULL);
244 virtual void pause ();
Class to write data from a Gzip compressed file.
#define s_int32
32 bits long signed integer
Class to read data from a Gzip compressed file.
u_int8 Action
What happens if the event occurs - see enum above.
virtual void put_state(ogzstream &out) const
Saves the basic event data (such as the type or script data) to a file.
PyObject * Args
The arguments passed to the script.
void set_callback(PyObject *callback, PyObject *args=NULL)
Sets a python function/method to be executed whenever the event occurs.
virtual void pause()
Disable the event temporarily.
void set_script(string filename, PyObject *args=NULL)
Sets a script to be executed whenever the event occurs.
Declares the py_callback class.
s_int32 Repeat
Defines how often the event should be repeated.
#define u_int8
8 bits long unsigned integer
bool Registered
Whether the event is registered with the event handler.
virtual bool get_state(igzstream &in)
Loads the basic event date from a file.
virtual ~event()
Destructor.
bool Paused
Whether the event temporarily disabled or not.
void set_repeat(s_int32 count)
Set whether this event should be repeated.
u_int8 Type
Event type - see enum above.
void set_registered(bool reg)
Set whether the event is registered with the event handler.
virtual void resume()
Re-enable an event that has been paused.
py_callback * PyFunc
Python callback that may be executed instead of the script.
virtual s_int32 execute(const event *evnt)=0
Execute the associated python script or callback.
py_object * Script
The Python script accociated with this event.
void set_list(event_list *list)
Tell the whether it is kept in an event_list.
Functor0 Callback
C++ callback that may be executed when the event gets triggered.
bool is_paused() const
Check whether the event is temporarily disabled or not.
s_int32 repeat() const
Return whether this event should be repeated.
Declares the py_object class.
s_int32 do_repeat()
Decrease the event's repeat count and return the number of repeats left.
Stores the C++ <-> Python callback binding.
u_int8 type() const
Get the event's type.
string Id
(Optional) Id of the event
Base class for objects that want to register events.
bool registered() const
Test whether the event is registered with the event handler.
event_list * List
The event_list this event is kept in.
virtual bool equals(const event *evnt)=0
Compare two events for equality.
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 point...