truelight@9638: #include "ai_station.hpp" truelight@9638: truelight@9638: namespace SQConvert { truelight@9638: /* Allow AIStation to be used as Squirrel parameter */ truelight@9638: template <> AIStation *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStation *)instance; } truelight@9638: template <> AIStation &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStation *)instance; } truelight@9638: template <> const AIStation *GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIStation *)instance; } truelight@9638: template <> const AIStation &GetParam(ForceType, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIStation *)instance; } truelight@9638: }; // namespace SQConvert truelight@9638: truelight@9638: void SQAIStationRegister(Squirrel *engine) { truelight@9638: DefSQClass SQAIStation("AIStation"); truelight@9638: SQAIStation.PreRegister(engine); truelight@9638: SQAIStation.AddConstructor(engine, "x"); truelight@9638: truelight@9638: SQAIStation.DefSQStaticMethod(engine, &AIStation::GetClassName, "GetClassName", 1, "x"); truelight@9638: SQAIStation.DefSQStaticMethod(engine, &AIStation::IsValidStation, "IsValidStation", 2, "xi"); truelight@9666: SQAIStation.DefSQStaticMethod(engine, &AIStation::GetStationID, "GetStationID", 2, "xi"); truelight@9638: SQAIStation.DefSQStaticMethod(engine, &AIStation::GetLocation, "GetLocation", 2, "xi"); truelight@9638: SQAIStation.DefSQStaticMethod(engine, &AIStation::GetCargoWaiting, "GetCargoWaiting", 3, "xii"); truelight@9648: SQAIStation.DefSQStaticMethod(engine, &AIStation::GetCargoRating, "GetCargoRating", 3, "xii"); truelight@9638: truelight@9638: SQAIStation.PostRegister(engine); truelight@9638: }