(svn r16585) -Add [NoAI]: AIBuoyList to get a list of all buoys

This commit is contained in:
yexo
2009-06-17 13:12:08 +00:00
parent 6a5c852aea
commit 4c227b6b78
9 changed files with 92 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
/* $Id$ */
/** @file ai_buoylist.cpp Implementation of AIBuoyList and friends. */
#include "ai_buoylist.hpp"
#include "../../station_base.h"
AIBuoyList::AIBuoyList()
{
Station *st;
FOR_ALL_STATIONS(st) {
if (st->IsBuoy()) this->AddItem(st->xy);
}
}

View File

@@ -0,0 +1,21 @@
/* $Id$ */
/** @file ai_buoylist.hpp List all the buoys. */
#ifndef AI_BUOYLIST_HPP
#define AI_BUOYLIST_HPP
#include "ai_abstractlist.hpp"
/**
* Creates a list of buoys.
* @ingroup AIList
*/
class AIBuoyList : public AIAbstractList {
public:
static const char *GetClassName() { return "AIBuoyList"; }
AIBuoyList();
};
#endif /* AI_BUOYLIST_HPP */

View File

@@ -0,0 +1,21 @@
/* $Id$ */
/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */
#include "ai_buoylist.hpp"
namespace SQConvert {
/* Allow AIBuoyList to be used as Squirrel parameter */
template <> AIBuoyList *GetParam(ForceType<AIBuoyList *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIBuoyList *)instance; }
template <> AIBuoyList &GetParam(ForceType<AIBuoyList &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIBuoyList *)instance; }
template <> const AIBuoyList *GetParam(ForceType<const AIBuoyList *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AIBuoyList *)instance; }
template <> const AIBuoyList &GetParam(ForceType<const AIBuoyList &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AIBuoyList *)instance; }
template <> int Return<AIBuoyList *>(HSQUIRRELVM vm, AIBuoyList *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "AIBuoyList", res, NULL, DefSQDestructorCallback<AIBuoyList>); return 1; }
}; // namespace SQConvert
void SQAIBuoyList_Register(Squirrel *engine) {
DefSQClass <AIBuoyList> SQAIBuoyList("AIBuoyList");
SQAIBuoyList.PreRegister(engine, "AIAbstractList");
SQAIBuoyList.AddConstructor<void (AIBuoyList::*)(), 1>(engine, "x");
SQAIBuoyList.PostRegister(engine);
}