00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "asEntityComponent.h"
00018
00019 #ifdef __COMPILE_WITH_ANGELSCRIPT__
00020
00021 #include "../ScriptHelper.h"
00022
00023 #include "../../core/EntityComponent.h"
00024
00025
00027 EntityComponent* createEntityComponent(Entity* parent)
00028 {
00029 return new EntityComponent(parent);
00030 }
00031
00033 void bindEntityComponent(asIScriptEngine *engine)
00034 {
00035
00036 int r;
00037
00038
00039 r = engine->RegisterObjectType("EntityComponent", sizeof(EntityComponent), asOBJ_REF);
00040 r = engine->RegisterObjectType("Entity", sizeof(Entity), asOBJ_REF);
00041
00042
00043 bindEntityComponentBase<EntityComponent>(engine, "EntityComponent");
00044
00045
00046 r = engine->RegisterObjectBehaviour("EntityComponent", asBEHAVE_FACTORY, "EntityComponent@ f(Entity @+)",
00047 asFUNCTION(createEntityComponent), asCALL_CDECL); assert(r >= 0);
00048
00049 r = engine->RegisterObjectMethod("EntityComponent", "EntityComponent& opAssign(const EntityComponent &in)",
00050 asFUNCTION(assignT<EntityComponent>), asCALL_CDECL_OBJFIRST); assert(r >= 0);
00051 }
00052
00053 #endif // __COMPILE_WITH_ANGELSCRIPT__
00054
00055