src/ai/api/ai_stationlist.hpp.sq
branchnoai
changeset 9670 820b77e19bb3
parent 9645 25126afa0c25
child 9673 ee4f133c84ec
equal deleted inserted replaced
9669:366771e15a2c 9670:820b77e19bb3
     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 }