src/ai/api/ai_townlist_valuator.hpp.sq
author truelight
Fri, 04 May 2007 22:59:59 +0000
branchnoai
changeset 9617 df9cedf12aab
parent 9616 ca607e3077dd
child 9635 9ee82e091af7
permissions -rw-r--r--
(svn r9786) [NoAI] -Fix: NeighbourRoad -> NeighbourRoadCount
[NoAI] -Fix: move AITileListValuators self-defined checks to AITile so we can call it per tile (instead of only via AITileList)
#include "ai_townlist_valuator.hpp"

namespace SQConvert {
	/* Allow AITownListPopulation to be used as Squirrel parameter */
	template <> AITownListPopulation *GetParam(ForceType<AITownListPopulation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AITownListPopulation *)instance; }
	template <> AITownListPopulation &GetParam(ForceType<AITownListPopulation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListPopulation *)instance; }
	template <> const AITownListPopulation *GetParam(ForceType<const AITownListPopulation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AITownListPopulation *)instance; }
	template <> const AITownListPopulation &GetParam(ForceType<const AITownListPopulation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListPopulation *)instance; }
}; // namespace SQConvert

void SQAITownListPopulationRegister(Squirrel *engine) {
	DefSQClass <AITownListPopulation> SQAITownListPopulation("AITownListPopulation");
	SQAITownListPopulation.PreRegister(engine);
	SQAITownListPopulation.AddConstructor<void (AITownListPopulation::*)()>(engine, 1, "x");

	SQAITownListPopulation.DefSQStaticMethod(engine, &AITownListPopulation::GetClassName, "GetClassName", 1, "x");

	SQAITownListPopulation.PostRegister(engine);
}

namespace SQConvert {
	/* Allow AITownListLocation to be used as Squirrel parameter */
	template <> AITownListLocation *GetParam(ForceType<AITownListLocation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AITownListLocation *)instance; }
	template <> AITownListLocation &GetParam(ForceType<AITownListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListLocation *)instance; }
	template <> const AITownListLocation *GetParam(ForceType<const AITownListLocation *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return  (AITownListLocation *)instance; }
	template <> const AITownListLocation &GetParam(ForceType<const AITownListLocation &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownListLocation *)instance; }
}; // namespace SQConvert

void SQAITownListLocationRegister(Squirrel *engine) {
	DefSQClass <AITownListLocation> SQAITownListLocation("AITownListLocation");
	SQAITownListLocation.PreRegister(engine);
	SQAITownListLocation.AddConstructor<void (AITownListLocation::*)()>(engine, 1, "x");

	SQAITownListLocation.DefSQStaticMethod(engine, &AITownListLocation::GetClassName, "GetClassName", 1, "x");

	SQAITownListLocation.PostRegister(engine);
}