src/ai/api/ai_order.hpp
branchnoai
changeset 9524 283d23931bb4
parent 9521 b9dabdbe1dc5
child 9525 1d6c509b56ee
equal deleted inserted replaced
9523:cacf2f05f79b 9524:283d23931bb4
   154 	bool UnshareOrders(VehicleID vehicle_id);
   154 	bool UnshareOrders(VehicleID vehicle_id);
   155 };
   155 };
   156 DECLARE_ENUM_AS_BIT_SET(AIOrder::AIOrderFlags);
   156 DECLARE_ENUM_AS_BIT_SET(AIOrder::AIOrderFlags);
   157 
   157 
   158 #ifdef DEFINE_SQUIRREL_CLASS
   158 #ifdef DEFINE_SQUIRREL_CLASS
   159 /* Custom template to allow enums as Squirrel parameters */
       
   160 namespace SQConvert {
   159 namespace SQConvert {
       
   160 	/* Allow enums to be used as Squirrel parameters */
   161 	template <> AIOrder::AIOrderFlags GetParam(ForceType<AIOrder::AIOrderFlags>, HSQUIRRELVM vm, int index) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIOrder::AIOrderFlags)tmp; }
   161 	template <> AIOrder::AIOrderFlags GetParam(ForceType<AIOrder::AIOrderFlags>, HSQUIRRELVM vm, int index) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AIOrder::AIOrderFlags)tmp; }
   162 	template <> int Return<AIOrder::AIOrderFlags>(HSQUIRRELVM vm, AIOrder::AIOrderFlags res) { sq_pushinteger(vm, (int32)res); return 1; }
   162 	template <> int Return<AIOrder::AIOrderFlags>(HSQUIRRELVM vm, AIOrder::AIOrderFlags res) { sq_pushinteger(vm, (int32)res); return 1; }
       
   163 
       
   164 	/* Allow AIOrder to be used as Squirrel parameter */
       
   165 	template <> AIOrder *GetParam(ForceType<AIOrder *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIOrder *)instance; }
   163 }; // namespace SQConvert
   166 }; // namespace SQConvert
   164 
   167 
   165 void SQAIOrderRegister(Squirrel *engine) {
   168 void SQAIOrderRegister(Squirrel *engine) {
   166 	DefSQClass <AIOrder> SQAIOrder("AIOrder");
   169 	DefSQClass <AIOrder> SQAIOrder("AIOrder");
   167 	SQAIOrder.PreRegister(engine);
   170 	SQAIOrder.PreRegister(engine);