ai_engine.hpp

Go to the documentation of this file.
00001 /* $Id: ai_engine.hpp 15307 2009-02-01 16:21:18Z frosch $ */
00002 
00005 #ifndef AI_ENGINE_HPP
00006 #define AI_ENGINE_HPP
00007 
00008 #include "ai_object.hpp"
00009 #include "ai_vehicle.hpp"
00010 #include "ai_road.hpp"
00011 #include "ai_rail.hpp"
00012 #include "ai_airport.hpp"
00013 
00017 class AIEngine : public AIObject {
00018 public:
00019   static const char *GetClassName() { return "AIEngine"; }
00020 
00026   static bool IsValidEngine(EngineID engine_id);
00027 
00034   static char *GetName(EngineID engine_id);
00035 
00043   static CargoID GetCargoType(EngineID engine_id);
00044 
00055   static bool CanRefitCargo(EngineID engine_id, CargoID cargo_id);
00056 
00068   static bool CanPullCargo(EngineID engine_id, CargoID cargo_id);
00069 
00077   static int32 GetCapacity(EngineID engine_id);
00078 
00087   static int32 GetReliability(EngineID engine_id);
00088 
00098   static int32 GetMaxSpeed(EngineID engine_id);
00099 
00106   static Money GetPrice(EngineID engine_id);
00107 
00115   static int32 GetMaxAge(EngineID engine_id);
00116 
00124   static Money GetRunningCost(EngineID engine_id);
00125 
00132   static AIVehicle::VehicleType GetVehicleType(EngineID engine_id);
00133 
00141   static bool IsWagon(EngineID engine_id);
00142 
00154   static bool CanRunOnRail(EngineID engine_id, AIRail::RailType track_rail_type);
00155 
00165   static bool HasPowerOnRail(EngineID engine_id, AIRail::RailType track_rail_type);
00166 
00174   static AIRoad::RoadType GetRoadType(EngineID engine_id);
00175 
00183   static AIRail::RailType GetRailType(EngineID engine_id);
00184 
00192   static bool IsArticulated(EngineID engine_id);
00193 
00201   static AIAirport::PlaneType GetPlaneType(EngineID engine_id);
00202 };
00203 
00204 #endif /* AI_ENGINE_HPP */

Generated on Mon Feb 16 23:12:05 2009 for openttd by  doxygen 1.5.6