src/ai/api/ai_cargolist_valuator.hpp.sq
author truebrain
Tue, 26 Feb 2008 23:47:37 +0000
branchnoai
changeset 9788 e9dbd4ec1784
child 9790 cf20a184fea5
permissions -rw-r--r--
(svn r12284) [NoAI] -Add: added AICargoList_v(IsFreight|CargoIncomes) (Morloth)
#include "ai_cargolist_valuator.hpp"

namespace SQConvert {
	/* Allow AICargoList_vIsFreight to be used as Squirrel parameter */
	template <> AICargoList_vIsFreight *GetParam(ForceType<AICargoList_vIsFreight *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AICargoList_vIsFreight *)instance; }
	template <> AICargoList_vIsFreight &GetParam(ForceType<AICargoList_vIsFreight &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICargoList_vIsFreight *)instance; }
	template <> const AICargoList_vIsFreight *GetParam(ForceType<const AICargoList_vIsFreight *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AICargoList_vIsFreight *)instance; }
	template <> const AICargoList_vIsFreight &GetParam(ForceType<const AICargoList_vIsFreight &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICargoList_vIsFreight *)instance; }
	template <> int Return<AICargoList_vIsFreight *>(HSQUIRRELVM vm, AICargoList_vIsFreight *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AICargoList_vIsFreight", res, NULL, DefSQDestructorCallback<AICargoList_vIsFreight>); return 1; }
}; // namespace SQConvert

void SQAICargoList_vIsFreight_Register(Squirrel *engine) {
	DefSQClass <AICargoList_vIsFreight> SQAICargoList_vIsFreight("AICargoList_vIsFreight");
	SQAICargoList_vIsFreight.PreRegister(engine);
	SQAICargoList_vIsFreight.AddConstructor<void (AICargoList_vIsFreight::*)(), 1>(engine, "x");

	SQAICargoList_vIsFreight.DefSQStaticMethod(engine, &AICargoList_vIsFreight::GetClassName, "GetClassName", 1, "x");

	SQAICargoList_vIsFreight.PostRegister(engine);
}

namespace SQConvert {
	/* Allow AICargoList_vCargoIncomes to be used as Squirrel parameter */
	template <> AICargoList_vCargoIncomes *GetParam(ForceType<AICargoList_vCargoIncomes *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AICargoList_vCargoIncomes *)instance; }
	template <> AICargoList_vCargoIncomes &GetParam(ForceType<AICargoList_vCargoIncomes &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICargoList_vCargoIncomes *)instance; }
	template <> const AICargoList_vCargoIncomes *GetParam(ForceType<const AICargoList_vCargoIncomes *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AICargoList_vCargoIncomes *)instance; }
	template <> const AICargoList_vCargoIncomes &GetParam(ForceType<const AICargoList_vCargoIncomes &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AICargoList_vCargoIncomes *)instance; }
	template <> int Return<AICargoList_vCargoIncomes *>(HSQUIRRELVM vm, AICargoList_vCargoIncomes *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AICargoList_vCargoIncomes", res, NULL, DefSQDestructorCallback<AICargoList_vCargoIncomes>); return 1; }
}; // namespace SQConvert

void SQAICargoList_vCargoIncomes_Register(Squirrel *engine) {
	DefSQClass <AICargoList_vCargoIncomes> SQAICargoList_vCargoIncomes("AICargoList_vCargoIncomes");
	SQAICargoList_vCargoIncomes.PreRegister(engine);
	SQAICargoList_vCargoIncomes.AddConstructor<void (AICargoList_vCargoIncomes::*)(uint32 dis, uint32 days), 3>(engine, "xii");

	SQAICargoList_vCargoIncomes.DefSQStaticMethod(engine, &AICargoList_vCargoIncomes::GetClassName, "GetClassName", 1, "x");

	SQAICargoList_vCargoIncomes.PostRegister(engine);
}