Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 #ifndef SCRIPT_EVENT_HPP
00013 #define SCRIPT_EVENT_HPP
00014
00015 #include "script_object.hpp"
00016
00023 class ScriptEvent : public ScriptObject {
00024 public:
00028 enum ScriptEventType {
00029 ET_INVALID = 0,
00030 ET_TEST,
00031 ET_SUBSIDY_OFFER,
00032 ET_SUBSIDY_OFFER_EXPIRED,
00033 ET_SUBSIDY_AWARDED,
00034 ET_SUBSIDY_EXPIRED,
00035 ET_ENGINE_PREVIEW,
00036 ET_COMPANY_NEW,
00037 ET_COMPANY_IN_TROUBLE,
00038 ET_COMPANY_ASK_MERGER,
00039 ET_COMPANY_MERGER,
00040 ET_COMPANY_BANKRUPT,
00041 ET_VEHICLE_CRASHED,
00042 ET_VEHICLE_LOST,
00043 ET_VEHICLE_WAITING_IN_DEPOT,
00044 ET_VEHICLE_UNPROFITABLE,
00045 ET_INDUSTRY_OPEN,
00046 ET_INDUSTRY_CLOSE,
00047 ET_ENGINE_AVAILABLE,
00048 ET_STATION_FIRST_VEHICLE,
00049 ET_DISASTER_ZEPPELINER_CRASHED,
00050 ET_DISASTER_ZEPPELINER_CLEARED,
00051 ET_TOWN_FOUNDED,
00052 ET_AIRCRAFT_DEST_TOO_FAR,
00053 ET_ADMIN_PORT,
00054 ET_WINDOW_WIDGET_CLICK,
00055 };
00056
00060 ScriptEvent(ScriptEvent::ScriptEventType type) :
00061 type(type)
00062 {}
00063
00068 ScriptEventType GetEventType() { return this->type; }
00069
00070 protected:
00074 ScriptEventType type;
00075 };
00076
00083 class ScriptEventController : public ScriptObject {
00084 public:
00089 static bool IsEventWaiting();
00090
00095 static ScriptEvent *GetNextEvent();
00096
00102 static void InsertEvent(ScriptEvent *event);
00103
00108 static void FreeEventPointer();
00109
00110 private:
00114 static void CreateEventPointer();
00115 };
00116
00117 #endif