00001 /* $Id: ai_industry.hpp 17305 2009-08-29 11:18:03Z smatz $ */ 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 00088 static int32 GetLastMonthTransportedPercentage(IndustryID industry_id, CargoID cargo_id); 00089 00096 static TileIndex GetLocation(IndustryID industry_id); 00097 00106 static int32 GetAmountOfStationsAround(IndustryID industry_id); 00107 00117 static int32 GetDistanceManhattanToTile(IndustryID industry_id, TileIndex tile); 00118 00128 static int32 GetDistanceSquareToTile(IndustryID industry_id, TileIndex tile); 00129 00136 static bool IsBuiltOnWater(IndustryID industry_id); 00137 00144 static bool HasHeliport(IndustryID industry_id); 00145 00153 static TileIndex GetHeliportLocation(IndustryID industry_id); 00154 00161 static bool HasDock(IndustryID industry_id); 00162 00170 static TileIndex GetDockLocation(IndustryID industry_id); 00171 00178 static IndustryType GetIndustryType(IndustryID industry_id); 00179 }; 00180 00181 #endif /* AI_INDUSTRY_HPP */