00001 /* $Id: ai_industry.hpp 15563 2009-02-23 21:07:01Z 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 int32 GetIndustryCount(); 00024 00030 static bool IsValidIndustry(IndustryID industry_id); 00031 00038 static char *GetName(IndustryID industry_id); 00039 00048 static bool IsCargoAccepted(IndustryID industry_id, CargoID cargo_id); 00049 00058 static int32 GetStockpiledCargo(IndustryID industry_id, CargoID cargo_id); 00059 00068 static int32 GetLastMonthProduction(IndustryID industry_id, CargoID cargo_id); 00069 00078 static int32 GetLastMonthTransported(IndustryID industry_id, CargoID cargo_id); 00079 00086 static TileIndex GetLocation(IndustryID industry_id); 00087 00094 static int32 GetAmountOfStationsAround(IndustryID industry_id); 00095 00105 static int32 GetDistanceManhattanToTile(IndustryID industry_id, TileIndex tile); 00106 00116 static int32 GetDistanceSquareToTile(IndustryID industry_id, TileIndex tile); 00117 00124 static bool IsBuiltOnWater(IndustryID industry_id); 00125 00132 static bool HasHeliport(IndustryID industry_id); 00133 00141 static TileIndex GetHeliportLocation(IndustryID industry_id); 00142 00149 static bool HasDock(IndustryID industry_id); 00150 00158 static TileIndex GetDockLocation(IndustryID industry_id); 00159 00166 static IndustryType GetIndustryType(IndustryID industry_id); 00167 }; 00168 00169 #endif /* AI_INDUSTRY_HPP */