|
1 #include "ai_tilelist.hpp" |
|
2 |
|
3 namespace SQConvert { |
|
4 /* Allow AITileList to be used as Squirrel parameter */ |
|
5 template <> AITileList *GetParam(ForceType<AITileList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileList *)instance; } |
|
6 template <> AITileList &GetParam(ForceType<AITileList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList *)instance; } |
|
7 template <> const AITileList *GetParam(ForceType<const AITileList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITileList *)instance; } |
|
8 template <> const AITileList &GetParam(ForceType<const AITileList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITileList *)instance; } |
|
9 }; // namespace SQConvert |
|
10 |
|
11 void SQAITileListRegister(Squirrel *engine) { |
|
12 DefSQClass <AITileList> SQAITileList("AITileList"); |
|
13 SQAITileList.PreRegister(engine, "AIAbstractList"); |
|
14 SQAITileList.AddConstructor(engine); |
|
15 |
|
16 SQAITileList.DefSQStaticMethod(engine, &AITileList::GetClassName, "GetClassName", 1, "x"); |
|
17 |
|
18 SQAITileList.DefSQMethod(engine, &AITileList::AddRectangle, "AddRectangle", 3, "xii"); |
|
19 SQAITileList.DefSQMethod(engine, &AITileList::AddTile, "AddTile", 2, "xi"); |
|
20 SQAITileList.DefSQMethod(engine, &AITileList::RemoveRectangle, "RemoveRectangle", 3, "xii"); |
|
21 SQAITileList.DefSQMethod(engine, &AITileList::RemoveTile, "RemoveTile", 2, "xi"); |
|
22 |
|
23 SQAITileList.PostRegister(engine); |
|
24 } |