src/ai/api/ai_base.hpp.sq
branchnoai
changeset 9680 5ed7bbfd51c7
parent 9679 788e083db48b
child 9741 53c1c5850e01
equal deleted inserted replaced
9679:788e083db48b 9680:5ed7bbfd51c7
     4 	/* Allow AIBase to be used as Squirrel parameter */
     4 	/* Allow AIBase to be used as Squirrel parameter */
     5 	template <> AIBase *GetParam(ForceType<AIBase *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AIBase *)instance; }
     5 	template <> AIBase *GetParam(ForceType<AIBase *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AIBase *)instance; }
     6 	template <> AIBase &GetParam(ForceType<AIBase &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIBase *)instance; }
     6 	template <> AIBase &GetParam(ForceType<AIBase &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIBase *)instance; }
     7 	template <> const AIBase *GetParam(ForceType<const AIBase *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AIBase *)instance; }
     7 	template <> const AIBase *GetParam(ForceType<const AIBase *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AIBase *)instance; }
     8 	template <> const AIBase &GetParam(ForceType<const AIBase &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIBase *)instance; }
     8 	template <> const AIBase &GetParam(ForceType<const AIBase &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIBase *)instance; }
     9 	template <> int Return<AIBase *>(HSQUIRRELVM vm, AIBase *res) { res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIBase", res, NULL, DefSQDestructorCallback<AIBase>); return 1; }
     9 	template <> int Return<AIBase *>(HSQUIRRELVM vm, AIBase *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIBase", res, NULL, DefSQDestructorCallback<AIBase>); return 1; }
    10 }; // namespace SQConvert
    10 }; // namespace SQConvert
    11 
    11 
    12 void SQAIBaseRegister(Squirrel *engine) {
    12 void SQAIBaseRegister(Squirrel *engine) {
    13 	DefSQClass <AIBase> SQAIBase("AIBase");
    13 	DefSQClass <AIBase> SQAIBase("AIBase");
    14 	SQAIBase.PreRegister(engine);
    14 	SQAIBase.PreRegister(engine);