truebrain@9785: #include "ai_cargolist.hpp" truebrain@9785: truebrain@9785: namespace SQConvert { truebrain@9785: /* Allow AICargoList to be used as Squirrel parameter */ truebrain@9785: template <> AICargoList *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AICargoList *)instance; } truebrain@9785: template <> AICargoList &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICargoList *)instance; } truebrain@9785: template <> const AICargoList *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AICargoList *)instance; } truebrain@9785: template <> const AICargoList &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICargoList *)instance; } truebrain@9785: template <> int Return(HSQUIRRELVM vm, AICargoList *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AICargoList", res, NULL, DefSQDestructorCallback); return 1; } truebrain@9785: }; // namespace SQConvert truebrain@9785: truebrain@9785: void SQAICargoList_Register(Squirrel *engine) { truebrain@9785: DefSQClass SQAICargoList("AICargoList"); truebrain@9785: SQAICargoList.PreRegister(engine, "AIAbstractList"); truebrain@9785: SQAICargoList.AddConstructor(engine, "x"); truebrain@9785: truebrain@9785: SQAICargoList.DefSQStaticMethod(engine, &AICargoList::GetClassName, "GetClassName", 1, "x"); truebrain@9785: truebrain@9785: SQAICargoList.PostRegister(engine); truebrain@9785: }