rubidium@9596: #include "ai_tilelist.hpp" rubidium@9596: rubidium@9596: namespace SQConvert { rubidium@9596: /* Allow AITileList to be used as Squirrel parameter */ rubidium@9596: template <> AITileList *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileList *)instance; } rubidium@9596: template <> AITileList &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList *)instance; } rubidium@9596: template <> const AITileList *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileList *)instance; } rubidium@9596: template <> const AITileList &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList *)instance; } truelight@9680: template <> int Return(HSQUIRRELVM vm, AITileList *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AITileList", res, NULL, DefSQDestructorCallback); return 1; } rubidium@9596: }; // namespace SQConvert rubidium@9596: truebrain@9741: void SQAITileList_Register(Squirrel *engine) { rubidium@9596: DefSQClass SQAITileList("AITileList"); rubidium@9596: SQAITileList.PreRegister(engine, "AIAbstractList"); truelight@9635: SQAITileList.AddConstructor(engine, "x"); rubidium@9596: rubidium@9596: SQAITileList.DefSQStaticMethod(engine, &AITileList::GetClassName, "GetClassName", 1, "x"); rubidium@9596: rubidium@9596: SQAITileList.DefSQMethod(engine, &AITileList::AddRectangle, "AddRectangle", 3, "xii"); rubidium@9596: SQAITileList.DefSQMethod(engine, &AITileList::AddTile, "AddTile", 2, "xi"); rubidium@9596: SQAITileList.DefSQMethod(engine, &AITileList::RemoveRectangle, "RemoveRectangle", 3, "xii"); rubidium@9596: SQAITileList.DefSQMethod(engine, &AITileList::RemoveTile, "RemoveTile", 2, "xi"); rubidium@9596: rubidium@9596: SQAITileList.PostRegister(engine); rubidium@9596: } truebrain@9757: truebrain@9757: namespace SQConvert { truebrain@9757: /* Allow AITileList_IndustryAccepting to be used as Squirrel parameter */ truebrain@9757: template <> AITileList_IndustryAccepting *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileList_IndustryAccepting *)instance; } truebrain@9757: template <> AITileList_IndustryAccepting &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList_IndustryAccepting *)instance; } truebrain@9757: template <> const AITileList_IndustryAccepting *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileList_IndustryAccepting *)instance; } truebrain@9757: template <> const AITileList_IndustryAccepting &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList_IndustryAccepting *)instance; } truebrain@9757: template <> int Return(HSQUIRRELVM vm, AITileList_IndustryAccepting *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AITileList_IndustryAccepting", res, NULL, DefSQDestructorCallback); return 1; } truebrain@9757: }; // namespace SQConvert truebrain@9757: truebrain@9757: void SQAITileList_IndustryAccepting_Register(Squirrel *engine) { truebrain@9757: DefSQClass SQAITileList_IndustryAccepting("AITileList_IndustryAccepting"); truebrain@9757: SQAITileList_IndustryAccepting.PreRegister(engine, "AITileList"); truebrain@9757: SQAITileList_IndustryAccepting.AddConstructor(engine, "xii"); truebrain@9757: truebrain@9757: SQAITileList_IndustryAccepting.DefSQStaticMethod(engine, &AITileList_IndustryAccepting::GetClassName, "GetClassName", 1, "x"); truebrain@9757: truebrain@9757: SQAITileList_IndustryAccepting.PostRegister(engine); truebrain@9757: } truebrain@9757: truebrain@9757: namespace SQConvert { truebrain@9757: /* Allow AITileList_IndustryProducing to be used as Squirrel parameter */ truebrain@9757: template <> AITileList_IndustryProducing *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileList_IndustryProducing *)instance; } truebrain@9757: template <> AITileList_IndustryProducing &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList_IndustryProducing *)instance; } truebrain@9757: template <> const AITileList_IndustryProducing *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileList_IndustryProducing *)instance; } truebrain@9757: template <> const AITileList_IndustryProducing &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList_IndustryProducing *)instance; } truebrain@9757: template <> int Return(HSQUIRRELVM vm, AITileList_IndustryProducing *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AITileList_IndustryProducing", res, NULL, DefSQDestructorCallback); return 1; } truebrain@9757: }; // namespace SQConvert truebrain@9757: truebrain@9757: void SQAITileList_IndustryProducing_Register(Squirrel *engine) { truebrain@9757: DefSQClass SQAITileList_IndustryProducing("AITileList_IndustryProducing"); truebrain@9757: SQAITileList_IndustryProducing.PreRegister(engine, "AITileList"); truebrain@9757: SQAITileList_IndustryProducing.AddConstructor(engine, "xii"); truebrain@9757: truebrain@9757: SQAITileList_IndustryProducing.DefSQStaticMethod(engine, &AITileList_IndustryProducing::GetClassName, "GetClassName", 1, "x"); truebrain@9757: truebrain@9757: SQAITileList_IndustryProducing.PostRegister(engine); truebrain@9757: }