/* $Id$ */

/*
 * This file is part of OpenTTD.
 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
 */

/* THIS FILE IS AUTO-GENERATED; PLEASE DO NOT ALTER MANUALLY */

#include "../script_vehiclelist.hpp"
#include "../template/template_vehiclelist.hpp.sq"


template <> const char *GetClassName<ScriptVehicleList, ST_AI>() { return "AIVehicleList"; }

void SQAIVehicleList_Register(Squirrel *engine)
{
	DefSQClass<ScriptVehicleList, ST_AI> SQAIVehicleList("AIVehicleList");
	SQAIVehicleList.PreRegister(engine, "AIList");
	SQAIVehicleList.AddConstructor<void (ScriptVehicleList::*)(), 1>(engine, "x");

	SQAIVehicleList.PostRegister(engine);
}


template <> const char *GetClassName<ScriptVehicleList_Station, ST_AI>() { return "AIVehicleList_Station"; }

void SQAIVehicleList_Station_Register(Squirrel *engine)
{
	DefSQClass<ScriptVehicleList_Station, ST_AI> SQAIVehicleList_Station("AIVehicleList_Station");
	SQAIVehicleList_Station.PreRegister(engine, "AIList");
	SQAIVehicleList_Station.AddConstructor<void (ScriptVehicleList_Station::*)(StationID station_id), 2>(engine, "xi");

	SQAIVehicleList_Station.PostRegister(engine);
}


template <> const char *GetClassName<ScriptVehicleList_Depot, ST_AI>() { return "AIVehicleList_Depot"; }

void SQAIVehicleList_Depot_Register(Squirrel *engine)
{
	DefSQClass<ScriptVehicleList_Depot, ST_AI> SQAIVehicleList_Depot("AIVehicleList_Depot");
	SQAIVehicleList_Depot.PreRegister(engine, "AIList");
	SQAIVehicleList_Depot.AddConstructor<void (ScriptVehicleList_Depot::*)(TileIndex tile), 2>(engine, "xi");

	SQAIVehicleList_Depot.PostRegister(engine);
}


template <> const char *GetClassName<ScriptVehicleList_SharedOrders, ST_AI>() { return "AIVehicleList_SharedOrders"; }

void SQAIVehicleList_SharedOrders_Register(Squirrel *engine)
{
	DefSQClass<ScriptVehicleList_SharedOrders, ST_AI> SQAIVehicleList_SharedOrders("AIVehicleList_SharedOrders");
	SQAIVehicleList_SharedOrders.PreRegister(engine, "AIList");
	SQAIVehicleList_SharedOrders.AddConstructor<void (ScriptVehicleList_SharedOrders::*)(VehicleID vehicle_id), 2>(engine, "xi");

	SQAIVehicleList_SharedOrders.PostRegister(engine);
}


template <> const char *GetClassName<ScriptVehicleList_Group, ST_AI>() { return "AIVehicleList_Group"; }

void SQAIVehicleList_Group_Register(Squirrel *engine)
{
	DefSQClass<ScriptVehicleList_Group, ST_AI> SQAIVehicleList_Group("AIVehicleList_Group");
	SQAIVehicleList_Group.PreRegister(engine, "AIList");
	SQAIVehicleList_Group.AddConstructor<void (ScriptVehicleList_Group::*)(GroupID group_id), 2>(engine, "xi");

	SQAIVehicleList_Group.PostRegister(engine);
}


template <> const char *GetClassName<ScriptVehicleList_DefaultGroup, ST_AI>() { return "AIVehicleList_DefaultGroup"; }

void SQAIVehicleList_DefaultGroup_Register(Squirrel *engine)
{
	DefSQClass<ScriptVehicleList_DefaultGroup, ST_AI> SQAIVehicleList_DefaultGroup("AIVehicleList_DefaultGroup");
	SQAIVehicleList_DefaultGroup.PreRegister(engine, "AIList");
	SQAIVehicleList_DefaultGroup.AddConstructor<void (ScriptVehicleList_DefaultGroup::*)(ScriptVehicle::VehicleType vehicle_type), 2>(engine, "xi");

	SQAIVehicleList_DefaultGroup.PostRegister(engine);
}
