ai_engine.hpp

Go to the documentation of this file.
00001 /* $Id: ai_engine.hpp 15524 2009-02-19 19:44:19Z yexo $ */
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 AIVehicle::VehicleType GetVehicleType(EngineID engine_id);
00162 
00170   static bool IsWagon(EngineID engine_id);
00171 
00183   static bool CanRunOnRail(EngineID engine_id, AIRail::RailType track_rail_type);
00184 
00194   static bool HasPowerOnRail(EngineID engine_id, AIRail::RailType track_rail_type);
00195 
00203   static AIRoad::RoadType GetRoadType(EngineID engine_id);
00204 
00212   static AIRail::RailType GetRailType(EngineID engine_id);
00213 
00221   static bool IsArticulated(EngineID engine_id);
00222 
00230   static AIAirport::PlaneType GetPlaneType(EngineID engine_id);
00231 };
00232 
00233 #endif /* AI_ENGINE_HPP */

Generated on Mon May 11 15:48:01 2009 for OpenTTD by  doxygen 1.5.6