00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __SCRIPTWWCOMMONEVENTBINDERY_H__
00026 #define __SCRIPTWWCOMMONEVENTBINDERY_H__
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include <angelscript.h>
00036
00037
00038
00039
00040 #include <nel/misc/types_nl.h>
00041 #include <nel/misc/debug.h>
00042 #include <nel/misc/matrix.h>
00043
00044
00045
00046
00047 #include "wwscript/ScriptEngine/ScriptManager.h"
00048 #include "wwscript/ScriptBindings/ScriptBinding.h"
00049 #include "wwscript/GlobalProperty/IProperty.h"
00050 #include "wwcommon/CGameSpawnRequestEvent.h"
00051 #include "wwcommon/CGameUnspawnRequestEvent.h"
00052 #include "wwcommon/CGameEventServer.h"
00053 #include "wwcommon/CSobAddEvent.h"
00054 #include "wwcommon/CSobRemoveEvent.h"
00055 #include "wwcommon/CSobSpawnEvent.h"
00056 #include "wwcommon/CSobUnspawnEvent.h"
00057 #include "wwcommon/CSobStateRequestEvent.h"
00058 #include "wwcommon/ISobStateChangeEvent.h"
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073 namespace WWSCRIPT {
00074
00075 WWCOMMON::CGameEventServer &getGameEventServer() {
00076 return WWCOMMON::CGameEventServer::instance();
00077 }
00078
00079 class ScriptWwcommonEventBindery : public ScriptBinding {
00080 public:
00081 ScriptWwcommonEventBindery() { }
00082
00083 bool bindObjects() {
00084
00085 bindIGameEvent();
00086 bindCGameUnspawnRequestEvent();
00087 bindCGameSpawnRequestEvent();
00088
00089
00090 bindISobEvent();
00091 bindCSobAddEvent();
00092 bindCSobRemoveEvent();
00093 bindCSobSpawnEvent();
00094 bindCSobUnspawnEvent();
00095 bindCSobStateRequestEvent();
00096
00097
00098 bindCGameEventServer();
00099 nlinfo("Done binding.");
00100 return true;
00101 }
00102
00103 void bindCGameEventServer() {
00104 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00105 int r;
00106 nlinfo("Binding CGameEventServer");
00107
00108 r = engine->RegisterObjectType("CGameEventServer", sizeof(WWCOMMON::CGameEventServer), asOBJ_REF); nlassert(r>=0);
00109
00110
00111 r = engine->RegisterObjectBehaviour("CGameEventServer", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00112 r = engine->RegisterObjectBehaviour("CGameEventServer", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00113
00114 r = engine->RegisterGlobalFunction("CGameEventServer @getGameEventServer()", asFUNCTION(getGameEventServer), asCALL_CDECL); nlassert(r>=0);
00115 r = engine->RegisterObjectMethod("CGameEventServer", "void processEventQueue()", asMETHODPR(WWCOMMON::CGameEventServer, processEventQueue, (void), void), asCALL_THISCALL); nlassert(r>=0);
00116 r = engine->RegisterObjectMethod("CGameEventServer", "void postEvent(IGameEvent@)", asMETHODPR(WWCOMMON::CGameEventServer, postEvent, (WWCOMMON::IGameEvent*), void), asCALL_THISCALL); nlassert(r>=0);
00117 }
00118
00119
00120
00121
00122
00123 template<class T>
00124 void registerIGameEvent(std::string typeName) {
00125 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00126 int r;
00127 r = engine->RegisterObjectMethod(typeName.c_str(), "uint32 getPlayerID()", asMETHODPR(T, getPlayerID, (void) const, uint32), asCALL_THISCALL); nlassert(r>=0);
00128 r = engine->RegisterObjectMethod(typeName.c_str(), "void setPlayerID(uint32)", asMETHODPR(T, setPlayerID, (uint32), void), asCALL_THISCALL); nlassert(r>=0);
00129 r = engine->RegisterObjectMethod(typeName.c_str(), "uint16 getId()", asMETHODPR(T, getId, (void) const, uint16), asCALL_THISCALL); nlassert(r>=0);
00130 r = engine->RegisterObjectMethod(typeName.c_str(), "string& getClassName()", asMETHOD(T, getClassName), asCALL_THISCALL); nlassert(r>=0);
00131 }
00132
00133 void bindIGameEvent() {
00134 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00135 int r;
00136 nlinfo("Binding IGameEvent");
00137
00138 r = engine->RegisterObjectType("IGameEvent", 0, asOBJ_REF); nlassert(r>=0);
00139
00140
00141 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00142 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00143
00144 registerIGameEvent<WWCOMMON::IGameEvent>("IGameEvent");
00145 }
00146
00147 void bindCGameSpawnRequestEvent() {
00148 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00149 int r;
00150 nlinfo("Binding CGameSpawnRequestEvent");
00151
00152 r = engine->RegisterObjectType("CGameSpawnRequestEvent", 0, asOBJ_REF); nlassert(r>=0);
00153
00154
00155 r = engine->RegisterObjectBehaviour("CGameSpawnRequestEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00156 r = engine->RegisterObjectBehaviour("CGameSpawnRequestEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00157 r = engine->RegisterObjectBehaviour("CGameSpawnRequestEvent", asBEHAVE_FACTORY, "CGameSpawnRequestEvent @f()", asFUNCTION((asCreateFactory0<WWCOMMON::CGameSpawnRequestEvent>)), asCALL_CDECL); nlassert(r>=0);
00158
00159
00160 registerIGameEvent<WWCOMMON::CGameSpawnRequestEvent>("CGameSpawnRequestEvent");
00161
00162
00163 r = engine->RegisterObjectProperty("CGameSpawnRequestEvent", "uint32 CharacterID", offsetof(WWCOMMON::CGameSpawnRequestEvent, CharacterID)); nlassert(r>=0);
00164
00165
00166 r = engine->RegisterObjectBehaviour("CGameSpawnRequestEvent", asBEHAVE_IMPLICIT_REF_CAST, "IGameEvent@ f()", asFUNCTION((refCast<WWCOMMON::CGameSpawnRequestEvent,WWCOMMON::IGameEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00167 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_REF_CAST, "CGameSpawnRequestEvent@ f()", asFUNCTION((refCast<WWCOMMON::IGameEvent,WWCOMMON::CGameSpawnRequestEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00168 }
00169
00170 void bindCGameUnspawnRequestEvent() {
00171 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00172 int r;
00173 nlinfo("Binding CGameUnspawnRequestEvent");
00174
00175 r = engine->RegisterObjectType("CGameUnspawnRequestEvent", 0, asOBJ_REF); nlassert(r>=0);
00176
00177
00178 r = engine->RegisterObjectBehaviour("CGameUnspawnRequestEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00179 r = engine->RegisterObjectBehaviour("CGameUnspawnRequestEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00180 r = engine->RegisterObjectBehaviour("CGameUnspawnRequestEvent", asBEHAVE_FACTORY, "CGameUnspawnRequestEvent @f()", asFUNCTION((asCreateFactory0<WWCOMMON::CGameUnspawnRequestEvent>)), asCALL_CDECL); nlassert(r>=0);
00181
00182
00183 registerIGameEvent<WWCOMMON::CGameUnspawnRequestEvent>("CGameUnspawnRequestEvent");
00184
00185
00186 r = engine->RegisterObjectProperty("CGameUnspawnRequestEvent", "uint32 SobID", offsetof(WWCOMMON::CGameUnspawnRequestEvent, SobID)); nlassert(r>=0);
00187
00188
00189 r = engine->RegisterObjectBehaviour("CGameUnspawnRequestEvent", asBEHAVE_IMPLICIT_REF_CAST, "IGameEvent@ f()", asFUNCTION((refCast<WWCOMMON::CGameUnspawnRequestEvent,WWCOMMON::IGameEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00190 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_REF_CAST, "CGameUnspawnRequestEvent@ f()", asFUNCTION((refCast<WWCOMMON::IGameEvent,WWCOMMON::CGameUnspawnRequestEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00191 }
00192
00193
00194
00195
00196
00197
00198
00199
00200 template<class T>
00201 void registerISobEvent(std::string typeName) {
00202 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00203 int r;
00204
00205
00206 registerIGameEvent<T>(typeName.c_str());
00207
00208
00209 r = engine->RegisterObjectProperty(typeName.c_str(), "uint32 SourceID", offsetof(T, SourceID)); nlassert(r>=0);
00210 r = engine->RegisterObjectProperty(typeName.c_str(), "uint32 TargetID", offsetof(T, SourceID)); nlassert(r>=0);
00211 }
00212
00213 void bindISobEvent() {
00214 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00215 int r;
00216 nlinfo("Binding ISobEvent");
00217 r = engine->RegisterObjectType("ISobEvent", 0, asOBJ_REF); nlassert(r>=0);
00218
00219
00220 r = engine->RegisterObjectBehaviour("ISobEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00221 r = engine->RegisterObjectBehaviour("ISobEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00222
00223
00224 registerISobEvent<WWCOMMON::ISobEvent>("ISobEvent");
00225
00226
00227 r = engine->RegisterObjectBehaviour("ISobEvent", asBEHAVE_IMPLICIT_REF_CAST, "IGameEvent@ f()", asFUNCTION((refCast<WWCOMMON::ISobEvent,WWCOMMON::IGameEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00228 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_REF_CAST, "ISobEvent@ f()", asFUNCTION((refCast<WWCOMMON::IGameEvent,WWCOMMON::ISobEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00229
00230 }
00231
00232 void bindCSobAddEvent() {
00233 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00234 int r;
00235 nlinfo("Binding CSobAddEvent");
00236
00237 r = engine->RegisterObjectType("CSobAddEvent", 0, asOBJ_REF); nlassert(r>=0);
00238
00239
00240 r = engine->RegisterObjectBehaviour("CSobAddEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00241 r = engine->RegisterObjectBehaviour("CSobAddEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00242 r = engine->RegisterObjectBehaviour("CSobAddEvent", asBEHAVE_FACTORY, "CSobAddEvent @f()", asFUNCTION((asCreateFactory0<WWCOMMON::CSobAddEvent>)), asCALL_CDECL); nlassert(r>=0);
00243
00244
00245 registerISobEvent<WWCOMMON::CSobAddEvent>("CSobAddEvent");
00246
00247
00248 r = engine->RegisterObjectProperty("CSobAddEvent", "CVector Position", offsetof(WWCOMMON::CSobAddEvent, Position)); nlassert(r>=0);
00249 r = engine->RegisterObjectProperty("CSobAddEvent", "CVector Speed", offsetof(WWCOMMON::CSobAddEvent, Speed)); nlassert(r>=0);
00250 r = engine->RegisterObjectProperty("CSobAddEvent", "float Yaw", offsetof(WWCOMMON::CSobAddEvent, Yaw)); nlassert(r>=0);
00251 r = engine->RegisterObjectProperty("CSobAddEvent", "float YawVelocity", offsetof(WWCOMMON::CSobAddEvent, YawVelocity)); nlassert(r>=0);
00252 r = engine->RegisterObjectProperty("CSobAddEvent", "string EMD", offsetof(WWCOMMON::CSobAddEvent, EMD)); nlassert(r>=0);
00253
00254
00255
00256 r = engine->RegisterObjectBehaviour("CSobAddEvent", asBEHAVE_IMPLICIT_REF_CAST, "ISobEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobAddEvent,WWCOMMON::ISobEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00257 r = engine->RegisterObjectBehaviour("CSobAddEvent", asBEHAVE_IMPLICIT_REF_CAST, "IGameEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobAddEvent,WWCOMMON::IGameEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00258 r = engine->RegisterObjectBehaviour("ISobEvent", asBEHAVE_REF_CAST, "CSobAddEvent@ f()", asFUNCTION((refCast<WWCOMMON::ISobEvent,WWCOMMON::CSobAddEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00259 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_REF_CAST, "CSobAddEvent@ f()", asFUNCTION((refCast<WWCOMMON::IGameEvent,WWCOMMON::CSobAddEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00260 }
00261 void bindCSobRemoveEvent() {
00262 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00263 int r;
00264 nlinfo("Binding CSobRemoveEvent");
00265
00266 r = engine->RegisterObjectType("CSobRemoveEvent", 0, asOBJ_REF); nlassert(r>=0);
00267
00268
00269 r = engine->RegisterObjectBehaviour("CSobRemoveEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00270 r = engine->RegisterObjectBehaviour("CSobRemoveEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00271 r = engine->RegisterObjectBehaviour("CSobRemoveEvent", asBEHAVE_FACTORY, "CSobRemoveEvent @f()", asFUNCTION((asCreateFactory0<WWCOMMON::CSobRemoveEvent>)), asCALL_CDECL); nlassert(r>=0);
00272
00273
00274 registerISobEvent<WWCOMMON::CSobRemoveEvent>("CSobRemoveEvent");
00275
00276
00277
00278
00279
00280 r = engine->RegisterObjectBehaviour("CSobRemoveEvent", asBEHAVE_IMPLICIT_REF_CAST, "ISobEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobRemoveEvent,WWCOMMON::ISobEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00281 r = engine->RegisterObjectBehaviour("CSobRemoveEvent", asBEHAVE_IMPLICIT_REF_CAST, "IGameEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobRemoveEvent,WWCOMMON::IGameEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00282 r = engine->RegisterObjectBehaviour("ISobEvent", asBEHAVE_REF_CAST, "CSobRemoveEvent@ f()", asFUNCTION((refCast<WWCOMMON::ISobEvent,WWCOMMON::CSobRemoveEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00283 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_REF_CAST, "CSobRemoveEvent@ f()", asFUNCTION((refCast<WWCOMMON::IGameEvent,WWCOMMON::CSobRemoveEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00284 }
00285 void bindCSobSpawnEvent() {
00286 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00287 int r;
00288 nlinfo("Binding CSobSpawnEvent");
00289
00290 r = engine->RegisterObjectType("CSobSpawnEvent", 0, asOBJ_REF); nlassert(r>=0);
00291
00292
00293 r = engine->RegisterObjectBehaviour("CSobSpawnEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00294 r = engine->RegisterObjectBehaviour("CSobSpawnEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00295 r = engine->RegisterObjectBehaviour("CSobSpawnEvent", asBEHAVE_FACTORY, "CSobSpawnEvent @f()", asFUNCTION((asCreateFactory0<WWCOMMON::CSobSpawnEvent>)), asCALL_CDECL); nlassert(r>=0);
00296
00297
00298 registerISobEvent<WWCOMMON::CSobSpawnEvent>("CSobSpawnEvent");
00299
00300
00301 r = engine->RegisterObjectProperty("CSobSpawnEvent", "CVector Position", offsetof(WWCOMMON::CSobAddEvent, Position)); nlassert(r>=0);
00302 r = engine->RegisterObjectProperty("CSobSpawnEvent", "string EMD", offsetof(WWCOMMON::CSobSpawnEvent, EMD)); nlassert(r>=0);
00303
00304
00305 r = engine->RegisterObjectBehaviour("CSobSpawnEvent", asBEHAVE_IMPLICIT_REF_CAST, "ISobEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobSpawnEvent,WWCOMMON::ISobEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00306 r = engine->RegisterObjectBehaviour("CSobSpawnEvent", asBEHAVE_IMPLICIT_REF_CAST, "IGameEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobSpawnEvent,WWCOMMON::IGameEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00307 r = engine->RegisterObjectBehaviour("ISobEvent", asBEHAVE_REF_CAST, "CSobSpawnEvent@ f()", asFUNCTION((refCast<WWCOMMON::ISobEvent,WWCOMMON::CSobSpawnEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00308 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_REF_CAST, "CSobSpawnEvent@ f()", asFUNCTION((refCast<WWCOMMON::IGameEvent,WWCOMMON::CSobSpawnEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00309 }
00310
00311
00312 void bindCSobUnspawnEvent() {
00313 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00314 int r;
00315 nlinfo("Binding CSobUnspawnEvent");
00316
00317 r = engine->RegisterObjectType("CSobUnspawnEvent", 0, asOBJ_REF); nlassert(r>=0);
00318
00319
00320 r = engine->RegisterObjectBehaviour("CSobUnspawnEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00321 r = engine->RegisterObjectBehaviour("CSobUnspawnEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00322 r = engine->RegisterObjectBehaviour("CSobUnspawnEvent", asBEHAVE_FACTORY, "CSobUnspawnEvent @f()", asFUNCTION((asCreateFactory0<WWCOMMON::CSobUnspawnEvent>)), asCALL_CDECL); nlassert(r>=0);
00323
00324
00325 registerISobEvent<WWCOMMON::CSobUnspawnEvent>("CSobUnspawnEvent");
00326
00327
00328
00329
00330
00331 r = engine->RegisterObjectBehaviour("CSobUnspawnEvent", asBEHAVE_IMPLICIT_REF_CAST, "ISobEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobUnspawnEvent,WWCOMMON::ISobEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00332 r = engine->RegisterObjectBehaviour("CSobUnspawnEvent", asBEHAVE_IMPLICIT_REF_CAST, "IGameEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobUnspawnEvent,WWCOMMON::IGameEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00333 r = engine->RegisterObjectBehaviour("ISobEvent", asBEHAVE_REF_CAST, "CSobUnspawnEvent@ f()", asFUNCTION((refCast<WWCOMMON::ISobEvent,WWCOMMON::CSobUnspawnEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00334 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_REF_CAST, "CSobUnspawnEvent@ f()", asFUNCTION((refCast<WWCOMMON::IGameEvent,WWCOMMON::CSobUnspawnEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00335 }
00336
00337
00338 void bindCSobStateRequestEvent() {
00339 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00340 int r;
00341 nlinfo("Binding CSobStateRequestEvent");
00342
00343 r = engine->RegisterObjectType("CSobStateRequestEvent", 0, asOBJ_REF); nlassert(r>=0);
00344
00345
00346 r = engine->RegisterObjectBehaviour("CSobStateRequestEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00347 r = engine->RegisterObjectBehaviour("CSobStateRequestEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00348 r = engine->RegisterObjectBehaviour("CSobStateRequestEvent", asBEHAVE_FACTORY, "CSobStateRequestEvent @f()", asFUNCTION((asCreateFactory0<WWCOMMON::CSobStateRequestEvent>)), asCALL_CDECL); nlassert(r>=0);
00349
00350
00351 registerISobEvent<WWCOMMON::CSobStateRequestEvent>("CSobStateRequestEvent");
00352
00353
00354 r = engine->RegisterObjectProperty("CSobSpawnEvent", "uint32 TargetState", offsetof(WWCOMMON::CSobStateRequestEvent, TargetState)); nlassert(r>=0);
00355
00356
00357 r = engine->RegisterObjectBehaviour("CSobStateRequestEvent", asBEHAVE_IMPLICIT_REF_CAST, "ISobEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobStateRequestEvent,WWCOMMON::ISobEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00358 r = engine->RegisterObjectBehaviour("CSobStateRequestEvent", asBEHAVE_IMPLICIT_REF_CAST, "IGameEvent@ f()", asFUNCTION((refCast<WWCOMMON::CSobStateRequestEvent,WWCOMMON::IGameEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00359 r = engine->RegisterObjectBehaviour("ISobEvent", asBEHAVE_REF_CAST, "CSobStateRequestEvent@ f()", asFUNCTION((refCast<WWCOMMON::ISobEvent,WWCOMMON::CSobStateRequestEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00360 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_REF_CAST, "CSobStateRequestEvent@ f()", asFUNCTION((refCast<WWCOMMON::IGameEvent,WWCOMMON::CSobStateRequestEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00361 }
00362
00363 void bindISobStateChangeEvent() {
00364 asIScriptEngine *engine = ScriptManager::getInstance().getEngine();
00365 int r;
00366 nlinfo("Binding ISobStateChangeEvent");
00367
00368 r = engine->RegisterObjectType("ISobStateChangeEvent", 0, asOBJ_REF); nlassert(r>=0);
00369
00370
00371 r = engine->RegisterObjectBehaviour("ISobStateChangeEvent", asBEHAVE_ADDREF, "void f()", asMETHOD(asRefDummy,addRef), asCALL_THISCALL); nlassert(r>=0);
00372 r = engine->RegisterObjectBehaviour("ISobStateChangeEvent", asBEHAVE_RELEASE, "void f()", asMETHOD(asRefDummy,release), asCALL_THISCALL); nlassert(r>=0);
00373
00374
00375
00376 registerISobEvent<WWCOMMON::ISobStateChangeEvent>("ISobStateChangeEvent");
00377
00378
00379 r = engine->RegisterObjectProperty("ISobStateChangeEvent", "uint32 TargetState", offsetof(WWCOMMON::ISobStateChangeEvent, TargetState)); nlassert(r>=0);
00380
00381
00382 r = engine->RegisterObjectBehaviour("ISobStateChangeEvent", asBEHAVE_IMPLICIT_REF_CAST, "ISobEvent@ f()", asFUNCTION((refCast<WWCOMMON::ISobStateChangeEvent,WWCOMMON::ISobEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00383 r = engine->RegisterObjectBehaviour("ISobStateChangeEvent", asBEHAVE_IMPLICIT_REF_CAST, "IGameEvent@ f()", asFUNCTION((refCast<WWCOMMON::ISobStateChangeEvent,WWCOMMON::IGameEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00384 r = engine->RegisterObjectBehaviour("ISobEvent", asBEHAVE_REF_CAST, "ISobStateChangeEvent@ f()", asFUNCTION((refCast<WWCOMMON::ISobEvent,WWCOMMON::ISobStateChangeEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00385 r = engine->RegisterObjectBehaviour("IGameEvent", asBEHAVE_REF_CAST, "ISobStateChangeEvent@ f()", asFUNCTION((refCast<WWCOMMON::IGameEvent,WWCOMMON::ISobStateChangeEvent>)), asCALL_CDECL_OBJLAST); nlassert(r>=0);
00386 }
00387 };
00388
00389 };
00390
00391 #endif // __SCRIPTWWCOMMONEVENTBINDERY_H__