1 #include "ai_stationlist.hpp" |
1 #include "ai_stationlist.hpp" |
2 |
2 |
3 namespace SQConvert { |
3 namespace SQConvert { |
4 /* Allow enums to be used as Squirrel parameters */ |
|
5 template <> AIStationList::StationType GetParam(ForceType<AIStationList::StationType>, HSQUIRRELVM vm, int index) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIStationList::StationType)tmp; } |
|
6 template <> int Return<AIStationList::StationType>(HSQUIRRELVM vm, AIStationList::StationType res) { sq_pushinteger(vm, (int32)res); return 1; } |
|
7 |
|
8 /* Allow AIStationList to be used as Squirrel parameter */ |
4 /* Allow AIStationList to be used as Squirrel parameter */ |
9 template <> AIStationList *GetParam(ForceType<AIStationList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationList *)instance; } |
5 template <> AIStationList *GetParam(ForceType<AIStationList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationList *)instance; } |
10 template <> AIStationList &GetParam(ForceType<AIStationList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationList *)instance; } |
6 template <> AIStationList &GetParam(ForceType<AIStationList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationList *)instance; } |
11 template <> const AIStationList *GetParam(ForceType<const AIStationList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationList *)instance; } |
7 template <> const AIStationList *GetParam(ForceType<const AIStationList *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStationList *)instance; } |
12 template <> const AIStationList &GetParam(ForceType<const AIStationList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationList *)instance; } |
8 template <> const AIStationList &GetParam(ForceType<const AIStationList &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStationList *)instance; } |
13 }; // namespace SQConvert |
9 }; // namespace SQConvert |
14 |
10 |
15 void SQAIStationListRegister(Squirrel *engine) { |
11 void SQAIStationListRegister(Squirrel *engine) { |
16 DefSQClass <AIStationList> SQAIStationList("AIStationList"); |
12 DefSQClass <AIStationList> SQAIStationList("AIStationList"); |
17 SQAIStationList.PreRegister(engine, "AIAbstractList"); |
13 SQAIStationList.PreRegister(engine, "AIAbstractList"); |
18 SQAIStationList.AddConstructor<void (AIStationList::*)(AIStationList::StationType type), 2>(engine, "xi"); |
14 SQAIStationList.AddConstructor<void (AIStationList::*)(AIStation::StationType type), 2>(engine, "xi"); |
19 |
|
20 SQAIStationList.DefSQConst(engine, AIStationList::STATION_ANY, "STATION_ANY"); |
|
21 SQAIStationList.DefSQConst(engine, AIStationList::STATION_TRAIN, "STATION_TRAIN"); |
|
22 SQAIStationList.DefSQConst(engine, AIStationList::STATION_TRUCK_STOP, "STATION_TRUCK_STOP"); |
|
23 SQAIStationList.DefSQConst(engine, AIStationList::STATION_BUS_STOP, "STATION_BUS_STOP"); |
|
24 SQAIStationList.DefSQConst(engine, AIStationList::STATION_AIRPORT, "STATION_AIRPORT"); |
|
25 SQAIStationList.DefSQConst(engine, AIStationList::STATION_DOCK, "STATION_DOCK"); |
|
26 |
15 |
27 SQAIStationList.DefSQStaticMethod(engine, &AIStationList::GetClassName, "GetClassName", 1, "x"); |
16 SQAIStationList.DefSQStaticMethod(engine, &AIStationList::GetClassName, "GetClassName", 1, "x"); |
28 |
17 |
29 SQAIStationList.PostRegister(engine); |
18 SQAIStationList.PostRegister(engine); |
30 } |
19 } |