script_engine.hpp

Go to the documentation of this file.
00001 /* $Id: script_engine.hpp 23615 2011-12-19 20:57:34Z truebrain $ */
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 SCRIPT_ENGINE_HPP
00013 #define SCRIPT_ENGINE_HPP
00014 
00015 #include "script_vehicle.hpp"
00016 #include "script_rail.hpp"
00017 #include "script_airport.hpp"
00018 
00023 class ScriptEngine : public ScriptObject {
00024 public:
00031   static bool IsValidEngine(EngineID engine_id);
00032 
00038   static bool IsBuildable(EngineID engine_id);
00039 
00046   static char *GetName(EngineID engine_id);
00047 
00055   static CargoID GetCargoType(EngineID engine_id);
00056 
00069   static bool CanRefitCargo(EngineID engine_id, CargoID cargo_id);
00070 
00082   static bool CanPullCargo(EngineID engine_id, CargoID cargo_id);
00083 
00091   static int32 GetCapacity(EngineID engine_id);
00092 
00102   static int32 GetReliability(EngineID engine_id);
00103 
00114   static int32 GetMaxSpeed(EngineID engine_id);
00115 
00122   static Money GetPrice(EngineID engine_id);
00123 
00131   static int32 GetMaxAge(EngineID engine_id);
00132 
00140   static Money GetRunningCost(EngineID engine_id);
00141 
00149   static int32 GetPower(EngineID engine_id);
00150 
00158   static int32 GetWeight(EngineID engine_id);
00159 
00167   static int32 GetMaxTractiveEffort(EngineID engine_id);
00168 
00175   static int32 GetDesignDate(EngineID engine_id);
00176 
00183   static ScriptVehicle::VehicleType GetVehicleType(EngineID engine_id);
00184 
00192   static bool IsWagon(EngineID engine_id);
00193 
00205   static bool CanRunOnRail(EngineID engine_id, ScriptRail::RailType track_rail_type);
00206 
00216   static bool HasPowerOnRail(EngineID engine_id, ScriptRail::RailType track_rail_type);
00217 
00225   static ScriptRoad::RoadType GetRoadType(EngineID engine_id);
00226 
00234   static ScriptRail::RailType GetRailType(EngineID engine_id);
00235 
00243   static bool IsArticulated(EngineID engine_id);
00244 
00252   static ScriptAirport::PlaneType GetPlaneType(EngineID engine_id);
00253 
00262   static uint GetMaximumOrderDistance(EngineID engine_id);
00263 };
00264 
00265 #endif /* SCRIPT_ENGINE_HPP */