|
1 #include "ai_station.hpp" |
|
2 |
|
3 namespace SQConvert { |
|
4 /* Allow AIStation to be used as Squirrel parameter */ |
|
5 template <> AIStation *GetParam(ForceType<AIStation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStation *)instance; } |
|
6 template <> AIStation &GetParam(ForceType<AIStation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStation *)instance; } |
|
7 template <> const AIStation *GetParam(ForceType<const AIStation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStation *)instance; } |
|
8 template <> const AIStation &GetParam(ForceType<const AIStation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStation *)instance; } |
|
9 }; // namespace SQConvert |
|
10 |
|
11 void SQAIStationRegister(Squirrel *engine) { |
|
12 DefSQClass <AIStation> SQAIStation("AIStation"); |
|
13 SQAIStation.PreRegister(engine); |
|
14 SQAIStation.AddConstructor<void (AIStation::*)(), 1>(engine, "x"); |
|
15 |
|
16 SQAIStation.DefSQStaticMethod(engine, &AIStation::GetClassName, "GetClassName", 1, "x"); |
|
17 SQAIStation.DefSQStaticMethod(engine, &AIStation::IsValidStation, "IsValidStation", 2, "xi"); |
|
18 SQAIStation.DefSQStaticMethod(engine, &AIStation::GetLocation, "GetLocation", 2, "xi"); |
|
19 SQAIStation.DefSQStaticMethod(engine, &AIStation::GetCargoWaiting, "GetCargoWaiting", 3, "xii"); |
|
20 |
|
21 SQAIStation.PostRegister(engine); |
|
22 } |