# 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 */