|
1 #include "ai_sign.hpp" |
|
2 |
|
3 namespace SQConvert { |
|
4 /* Allow AISign to be used as Squirrel parameter */ |
|
5 template <> AISign *GetParam(ForceType<AISign *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AISign *)instance; } |
|
6 template <> AISign &GetParam(ForceType<AISign &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AISign *)instance; } |
|
7 template <> const AISign *GetParam(ForceType<const AISign *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AISign *)instance; } |
|
8 template <> const AISign &GetParam(ForceType<const AISign &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AISign *)instance; } |
|
9 }; // namespace SQConvert |
|
10 |
|
11 void SQAISignRegister(Squirrel *engine) { |
|
12 DefSQClass <AISign> SQAISign("AISign"); |
|
13 SQAISign.PreRegister(engine); |
|
14 SQAISign.AddConstructor(engine); |
|
15 |
|
16 SQAISign.DefSQStaticMethod(engine, &AISign::GetClassName, "GetClassName", 1, "x"); |
|
17 SQAISign.DefSQStaticMethod(engine, &AISign::IsValidSign, "IsValidSign", 2, "xi"); |
|
18 |
|
19 SQAISign.DefSQMethod(engine, &AISign::GetMaxSignID, "GetMaxSignID", 1, "x"); |
|
20 SQAISign.DefSQMethod(engine, &AISign::GetSignCount, "GetSignCount", 1, "x"); |
|
21 SQAISign.DefSQMethod(engine, &AISign::GetText, "GetText", 2, "xi"); |
|
22 SQAISign.DefSQMethod(engine, &AISign::GetLocation, "GetLocation", 2, "xi"); |
|
23 SQAISign.DefSQMethod(engine, &AISign::RemoveSign, "RemoveSign", 2, "xi"); |
|
24 SQAISign.DefSQMethod(engine, &AISign::BuildSign, "BuildSign", 3, "xis"); |
|
25 |
|
26 SQAISign.PostRegister(engine); |
|
27 } |