ai_engine.hpp

Go to the documentation of this file.
00001 /* $Id: ai_engine.hpp 17080 2009-08-05 23:57:41Z rubidium $ */
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 
00088   static int32 GetReliability(EngineID engine_id);
00089 
00100   static int32 GetMaxSpeed(EngineID engine_id);
00101 
00108   static Money GetPrice(EngineID engine_id);
00109 
00117   static int32 GetMaxAge(EngineID engine_id);
00118 
00126   static Money GetRunningCost(EngineID engine_id);
00127 
00135   static int32 GetPower(EngineID engine_id);
00136 
00144   static int32 GetWeight(EngineID engine_id);
00145 
00153   static int32 GetMaxTractiveEffort(EngineID engine_id);
00154 
00161   static int32 GetDesignDate(EngineID engine_id);
00162 
00169   static AIVehicle::VehicleType GetVehicleType(EngineID engine_id);
00170 
00178   static bool IsWagon(EngineID engine_id);
00179 
00191   static bool CanRunOnRail(EngineID engine_id, AIRail::RailType track_rail_type);
00192 
00202   static bool HasPowerOnRail(EngineID engine_id, AIRail::RailType track_rail_type);
00203 
00211   static AIRoad::RoadType GetRoadType(EngineID engine_id);
00212 
00220   static AIRail::RailType GetRailType(EngineID engine_id);
00221 
00229   static bool IsArticulated(EngineID engine_id);
00230 
00238   static AIAirport::PlaneType GetPlaneType(EngineID engine_id);
00239 };
00240 
00241 #endif /* AI_ENGINE_HPP */

Generated on Thu Sep 24 19:35:00 2009 for OpenTTD by  doxygen 1.5.6