src/ai/api/ai_vehicle.hpp.sq
branchnoai
changeset 9684 623970482fb2
parent 9680 5ed7bbfd51c7
child 9687 7548e2e60f7c
equal deleted inserted replaced
9683:a4683b021073 9684:623970482fb2
     1 #include "ai_vehicle.hpp"
     1 #include "ai_vehicle.hpp"
     2 
     2 
     3 namespace SQConvert {
     3 namespace SQConvert {
       
     4 	/* Allow enums to be used as Squirrel parameters */
       
     5 	template <> AIVehicle::VehicleType GetParam(ForceType<AIVehicle::VehicleType>, HSQUIRRELVM vm, int index) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIVehicle::VehicleType)tmp; }
       
     6 	template <> int Return<AIVehicle::VehicleType>(HSQUIRRELVM vm, AIVehicle::VehicleType res) { sq_pushinteger(vm, (int32)res); return 1; }
       
     7 
     4 	/* Allow AIVehicle to be used as Squirrel parameter */
     8 	/* Allow AIVehicle to be used as Squirrel parameter */
     5 	template <> AIVehicle *GetParam(ForceType<AIVehicle *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AIVehicle *)instance; }
     9 	template <> AIVehicle *GetParam(ForceType<AIVehicle *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AIVehicle *)instance; }
     6 	template <> AIVehicle &GetParam(ForceType<AIVehicle &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicle *)instance; }
    10 	template <> AIVehicle &GetParam(ForceType<AIVehicle &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicle *)instance; }
     7 	template <> const AIVehicle *GetParam(ForceType<const AIVehicle *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AIVehicle *)instance; }
    11 	template <> const AIVehicle *GetParam(ForceType<const AIVehicle *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AIVehicle *)instance; }
     8 	template <> const AIVehicle &GetParam(ForceType<const AIVehicle &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicle *)instance; }
    12 	template <> const AIVehicle &GetParam(ForceType<const AIVehicle &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIVehicle *)instance; }
    12 void SQAIVehicleRegister(Squirrel *engine) {
    16 void SQAIVehicleRegister(Squirrel *engine) {
    13 	DefSQClass <AIVehicle> SQAIVehicle("AIVehicle");
    17 	DefSQClass <AIVehicle> SQAIVehicle("AIVehicle");
    14 	SQAIVehicle.PreRegister(engine);
    18 	SQAIVehicle.PreRegister(engine);
    15 	SQAIVehicle.AddConstructor<void (AIVehicle::*)(), 1>(engine, "x");
    19 	SQAIVehicle.AddConstructor<void (AIVehicle::*)(), 1>(engine, "x");
    16 
    20 
       
    21 	SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_INVALID, "VEHICLE_INVALID");
       
    22 	SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_RAIL,    "VEHICLE_RAIL");
       
    23 	SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_ROAD,    "VEHICLE_ROAD");
       
    24 	SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_WATER,   "VEHICLE_WATER");
       
    25 	SQAIVehicle.DefSQConst(engine, AIVehicle::VEHICLE_AIR,     "VEHICLE_AIR");
       
    26 
    17 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetClassName,      "GetClassName",      1, "x");
    27 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetClassName,      "GetClassName",      1, "x");
    18 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsValidEngine,     "IsValidEngine",     2, "xi");
    28 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsValidEngine,     "IsValidEngine",     2, "xi");
    19 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsValidVehicle,    "IsValidVehicle",    2, "xi");
    29 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsValidVehicle,    "IsValidVehicle",    2, "xi");
    20 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLocation,       "GetLocation",       2, "xi");
    30 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLocation,       "GetLocation",       2, "xi");
    21 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetEngineType,     "GetEngineType",     2, "xi");
    31 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetEngineType,     "GetEngineType",     2, "xi");
    23 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAge,            "GetAge",            2, "xi");
    33 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAge,            "GetAge",            2, "xi");
    24 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetMaxAge,         "GetMaxAge",         2, "xi");
    34 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetMaxAge,         "GetMaxAge",         2, "xi");
    25 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAgeLeft,        "GetAgeLeft",        2, "xi");
    35 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAgeLeft,        "GetAgeLeft",        2, "xi");
    26 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitThisYear, "GetProfitThisYear", 2, "xi");
    36 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitThisYear, "GetProfitThisYear", 2, "xi");
    27 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitLastYear, "GetProfitLastYear", 2, "xi");
    37 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitLastYear, "GetProfitLastYear", 2, "xi");
       
    38 	SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetVehicleType,    "GetVehicleType",    2, "xi");
    28 
    39 
    29 	SQAIVehicle.DefSQMethod(engine, &AIVehicle::FindBestRoadVehicle,     "FindBestRoadVehicle",     4, "xiii");
    40 	SQAIVehicle.DefSQMethod(engine, &AIVehicle::FindBestRoadVehicle,     "FindBestRoadVehicle",     4, "xiii");
    30 	SQAIVehicle.DefSQMethod(engine, &AIVehicle::FindBestAircraftVehicle, "FindBestAircraftVehicle", 4, "xiii");
    41 	SQAIVehicle.DefSQMethod(engine, &AIVehicle::FindBestAircraftVehicle, "FindBestAircraftVehicle", 4, "xiii");
    31 	SQAIVehicle.DefSQMethod(engine, &AIVehicle::BuildVehicle,            "BuildVehicle",            3, "xii");
    42 	SQAIVehicle.DefSQMethod(engine, &AIVehicle::BuildVehicle,            "BuildVehicle",            3, "xii");
    32 	SQAIVehicle.DefSQMethod(engine, &AIVehicle::CloneVehicle,            "CloneVehicle",            4, "xiib");
    43 	SQAIVehicle.DefSQMethod(engine, &AIVehicle::CloneVehicle,            "CloneVehicle",            4, "xiib");