00001 /* $Id: ai_industry.hpp 16246 2009-05-06 22:31:52Z rubidium $ */ 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 00096 static int32 GetAmountOfStationsAround(IndustryID industry_id); 00097 00107 static int32 GetDistanceManhattanToTile(IndustryID industry_id, TileIndex tile); 00108 00118 static int32 GetDistanceSquareToTile(IndustryID industry_id, TileIndex tile); 00119 00126 static bool IsBuiltOnWater(IndustryID industry_id); 00127 00134 static bool HasHeliport(IndustryID industry_id); 00135 00143 static TileIndex GetHeliportLocation(IndustryID industry_id); 00144 00151 static bool HasDock(IndustryID industry_id); 00152 00160 static TileIndex GetDockLocation(IndustryID industry_id); 00161 00168 static IndustryType GetIndustryType(IndustryID industry_id); 00169 }; 00170 00171 #endif /* AI_INDUSTRY_HPP */