src/ai/api/ai_station.hpp.sq
branchnoai
changeset 9638 f6d169a5a45a
child 9648 760b7b504e37
equal deleted inserted replaced
9637:9f78a12a4f53 9638:f6d169a5a45a
       
     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 }