1 #include "ai_pathfinder_stupid.hpp" |
|
2 |
|
3 namespace SQConvert { |
|
4 /* Allow AIPathFinderStupid to be used as Squirrel parameter */ |
|
5 template <> AIPathFinderStupid *GetParam(ForceType<AIPathFinderStupid *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIPathFinderStupid *)instance; } |
|
6 template <> AIPathFinderStupid &GetParam(ForceType<AIPathFinderStupid &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIPathFinderStupid *)instance; } |
|
7 template <> const AIPathFinderStupid *GetParam(ForceType<const AIPathFinderStupid *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIPathFinderStupid *)instance; } |
|
8 template <> const AIPathFinderStupid &GetParam(ForceType<const AIPathFinderStupid &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIPathFinderStupid *)instance; } |
|
9 template <> int Return<AIPathFinderStupid *>(HSQUIRRELVM vm, AIPathFinderStupid *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIPathFinderStupid", res, NULL, DefSQDestructorCallback<AIPathFinderStupid>); return 1; } |
|
10 }; // namespace SQConvert |
|
11 |
|
12 void SQAIPathFinderStupid_Register(Squirrel *engine) { |
|
13 DefSQClass <AIPathFinderStupid> SQAIPathFinderStupid("AIPathFinderStupid"); |
|
14 SQAIPathFinderStupid.PreRegister(engine, "AIPathFinder"); |
|
15 SQAIPathFinderStupid.AddConstructor<void (AIPathFinderStupid::*)(AIPathFinder::PathFinderType type), 2>(engine, "xi"); |
|
16 |
|
17 SQAIPathFinderStupid.DefSQStaticMethod(engine, &AIPathFinderStupid::GetClassName, "GetClassName", 1, "x"); |
|
18 |
|
19 SQAIPathFinderStupid.DefSQMethod(engine, &AIPathFinderStupid::FindRoute, "FindRoute", 3, "xxx"); |
|
20 SQAIPathFinderStupid.DefSQMethod(engine, &AIPathFinderStupid::BuildRoute, "BuildRoute", 2, "xp"); |
|
21 SQAIPathFinderStupid.DefSQMethod(engine, &AIPathFinderStupid::FreeRoute, "FreeRoute", 2, "xp"); |
|
22 |
|
23 SQAIPathFinderStupid.PostRegister(engine); |
|
24 } |
|