src/ai/api/ai_industrylist_valuator.hpp.sq
author truelight
Sun, 19 Aug 2007 13:31:04 +0000
branchnoai
changeset 9698 1d50fe99b7e9
parent 9680 5ed7bbfd51c7
child 9710 ba44f8c1fd52
permissions -rw-r--r--
(svn r10939) [NoAI] -Add: added AITileList valuator Water
[NoAI] -Add: added AITile::IsWater
#include "ai_industrylist_valuator.hpp"

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

void SQAIIndustryListProductionRegister(Squirrel *engine) {
	DefSQClass <AIIndustryListProduction> SQAIIndustryListProduction("AIIndustryListProduction");
	SQAIIndustryListProduction.PreRegister(engine);
	SQAIIndustryListProduction.AddConstructor<void (AIIndustryListProduction::*)(CargoID cargo_type), 2>(engine, "xi");

	SQAIIndustryListProduction.DefSQStaticMethod(engine, &AIIndustryListProduction::GetClassName, "GetClassName", 1, "x");

	SQAIIndustryListProduction.PostRegister(engine);
}

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

void SQAIIndustryListLocationRegister(Squirrel *engine) {
	DefSQClass <AIIndustryListLocation> SQAIIndustryListLocation("AIIndustryListLocation");
	SQAIIndustryListLocation.PreRegister(engine);
	SQAIIndustryListLocation.AddConstructor<void (AIIndustryListLocation::*)(), 1>(engine, "x");

	SQAIIndustryListLocation.DefSQStaticMethod(engine, &AIIndustryListLocation::GetClassName, "GetClassName", 1, "x");

	SQAIIndustryListLocation.PostRegister(engine);
}

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

void SQAIIndustryListDistanceManhattanToTileRegister(Squirrel *engine) {
	DefSQClass <AIIndustryListDistanceManhattanToTile> SQAIIndustryListDistanceManhattanToTile("AIIndustryListDistanceManhattanToTile");
	SQAIIndustryListDistanceManhattanToTile.PreRegister(engine);
	SQAIIndustryListDistanceManhattanToTile.AddConstructor<void (AIIndustryListDistanceManhattanToTile::*)(TileIndex tile), 2>(engine, "xi");

	SQAIIndustryListDistanceManhattanToTile.DefSQStaticMethod(engine, &AIIndustryListDistanceManhattanToTile::GetClassName, "GetClassName", 1, "x");

	SQAIIndustryListDistanceManhattanToTile.PostRegister(engine);
}

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

void SQAIIndustryListDistanceSquareToTileRegister(Squirrel *engine) {
	DefSQClass <AIIndustryListDistanceSquareToTile> SQAIIndustryListDistanceSquareToTile("AIIndustryListDistanceSquareToTile");
	SQAIIndustryListDistanceSquareToTile.PreRegister(engine);
	SQAIIndustryListDistanceSquareToTile.AddConstructor<void (AIIndustryListDistanceSquareToTile::*)(TileIndex tile), 2>(engine, "xi");

	SQAIIndustryListDistanceSquareToTile.DefSQStaticMethod(engine, &AIIndustryListDistanceSquareToTile::GetClassName, "GetClassName", 1, "x");

	SQAIIndustryListDistanceSquareToTile.PostRegister(engine);
}