(svn r23302) -Add: [NoAI] AITown::GetCargoGoal and AITown::GetGrowthRate to query statistics about a town regarding its growing

This commit is contained in:
truebrain
2011-11-23 16:09:46 +00:00
parent 44a1ae8cf2
commit ef02931a32
8 changed files with 93 additions and 0 deletions

View File

@@ -30,3 +30,23 @@ void SQAITownList_Register(Squirrel *engine)
SQAITownList.PostRegister(engine);
}
namespace SQConvert {
/* Allow AITownEffectList to be used as Squirrel parameter */
template <> inline AITownEffectList *GetParam(ForceType<AITownEffectList *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownEffectList *)instance; }
template <> inline AITownEffectList &GetParam(ForceType<AITownEffectList &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownEffectList *)instance; }
template <> inline const AITownEffectList *GetParam(ForceType<const AITownEffectList *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITownEffectList *)instance; }
template <> inline const AITownEffectList &GetParam(ForceType<const AITownEffectList &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITownEffectList *)instance; }
template <> inline int Return<AITownEffectList *>(HSQUIRRELVM vm, AITownEffectList *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AITownEffectList", res, NULL, DefSQDestructorCallback<AITownEffectList>); return 1; }
} // namespace SQConvert
template <> const char *GetClassName<AITownEffectList>() { return "AITownEffectList"; }
void SQAITownEffectList_Register(Squirrel *engine)
{
DefSQClass <AITownEffectList> SQAITownEffectList("AITownEffectList");
SQAITownEffectList.PreRegister(engine, "AIList");
SQAITownEffectList.AddConstructor<void (AITownEffectList::*)(), 1>(engine, "x");
SQAITownEffectList.PostRegister(engine);
}