00001 /* $Id: ai_vehiclelist.hpp 17486 2009-09-09 09:46:08Z rubidium $ */ 00002 00003 /* 00004 * This file is part of OpenTTD. 00005 * 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. 00006 * 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. 00007 * 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/>. 00008 */ 00009 00012 #ifndef AI_VEHICLELIST_HPP 00013 #define AI_VEHICLELIST_HPP 00014 00015 #include "ai_abstractlist.hpp" 00016 #include "ai_vehicle.hpp" 00017 00022 class AIVehicleList : public AIAbstractList { 00023 public: 00024 static const char *GetClassName() { return "AIVehicleList"; } 00025 AIVehicleList(); 00026 }; 00027 00032 class AIVehicleList_Station : public AIAbstractList { 00033 public: 00034 static const char *GetClassName() { return "AIVehicleList_Station"; } 00035 00040 AIVehicleList_Station(StationID station_id); 00041 }; 00042 00051 class AIVehicleList_Depot : public AIAbstractList { 00052 public: 00053 static const char *GetClassName() { return "AIVehicleList_Depot"; } 00054 00058 AIVehicleList_Depot(TileIndex tile); 00059 }; 00060 00065 class AIVehicleList_SharedOrders : public AIAbstractList { 00066 public: 00067 static const char *GetClassName() { return "AIVehicleList_SharedOrders"; } 00068 00072 AIVehicleList_SharedOrders(VehicleID vehicle_id); 00073 }; 00074 00079 class AIVehicleList_Group : public AIAbstractList { 00080 public: 00081 static const char *GetClassName() { return "AIVehicleList_Group"; } 00082 00086 AIVehicleList_Group(GroupID group_id); 00087 }; 00088 00093 class AIVehicleList_DefaultGroup : public AIAbstractList { 00094 public: 00095 static const char *GetClassName() { return "AIVehicleList_DefaultGroup"; } 00096 00100 AIVehicleList_DefaultGroup(AIVehicle::VehicleType vehicle_type); 00101 }; 00102 00103 #endif /* AI_VEHICLELIST_HPP */