00001 /* $Id: ai_industry.hpp 15485 2009-02-14 21:09:48Z yexo $ */ 00002 00005 #ifndef AI_INDUSTRY_HPP 00006 #define AI_INDUSTRY_HPP 00007 00008 #include "ai_object.hpp" 00009 00013 class AIIndustry : public AIObject { 00014 public: 00015 static const char *GetClassName() { return "AIIndustry"; } 00016 00023 static IndustryID GetMaxIndustryID(); 00024 00031 static int32 GetIndustryCount(); 00032 00038 static bool IsValidIndustry(IndustryID industry_id); 00039 00046 static char *GetName(IndustryID industry_id); 00047 00056 static bool IsCargoAccepted(IndustryID industry_id, CargoID cargo_id); 00057 00066 static int32 GetStockpiledCargo(IndustryID industry_id, CargoID cargo_id); 00067 00076 static int32 GetLastMonthProduction(IndustryID industry_id, CargoID cargo_id); 00077 00086 static int32 GetLastMonthTransported(IndustryID industry_id, CargoID cargo_id); 00087 00094 static TileIndex GetLocation(IndustryID industry_id); 00095 00102 static int32 GetAmountOfStationsAround(IndustryID industry_id); 00103 00113 static int32 GetDistanceManhattanToTile(IndustryID industry_id, TileIndex tile); 00114 00124 static int32 GetDistanceSquareToTile(IndustryID industry_id, TileIndex tile); 00125 00132 static bool IsBuiltOnWater(IndustryID industry_id); 00133 00140 static bool HasHeliport(IndustryID industry_id); 00141 00149 static TileIndex GetHeliportLocation(IndustryID industry_id); 00150 00157 static bool HasDock(IndustryID industry_id); 00158 00166 static TileIndex GetDockLocation(IndustryID industry_id); 00167 00174 static IndustryType GetIndustryType(IndustryID industry_id); 00175 }; 00176 00177 #endif /* AI_INDUSTRY_HPP */