00001 /* $Id: ai_industrytype.hpp 15904 2009-03-30 23:22:13Z rubidium $ */ 00002 00005 #ifndef AI_INDUSTRYTYPE_HPP 00006 #define AI_INDUSTRYTYPE_HPP 00007 00008 #include "ai_object.hpp" 00009 #include "ai_error.hpp" 00010 #include "ai_list.hpp" 00011 00015 class AIIndustryType : public AIObject { 00016 public: 00017 static const char *GetClassName() { return "AIIndustryType"; } 00018 00024 static bool IsValidIndustryType(IndustryType industry_type); 00025 00032 static char *GetName(IndustryType industry_type); 00033 00042 static AIList *GetProducedCargo(IndustryType industry_type); 00043 00052 static AIList *GetAcceptedCargo(IndustryType industry_type); 00053 00060 static bool IsRawIndustry(IndustryType industry_type); 00061 00068 static bool ProductionCanIncrease(IndustryType industry_type); 00069 00076 static Money GetConstructionCost(IndustryType industry_type); 00077 00085 static bool CanBuildIndustry(IndustryType industry_type); 00086 00095 static bool CanProspectIndustry(IndustryType industry_type); 00096 00104 static bool BuildIndustry(IndustryType industry_type, TileIndex tile); 00105 00115 static bool ProspectIndustry(IndustryType industry_type); 00116 00123 static bool IsBuiltOnWater(IndustryType industry_type); 00124 00131 static bool HasHeliport(IndustryType industry_type); 00132 00139 static bool HasDock(IndustryType industry_type); 00140 }; 00141 00142 #endif /* AI_INDUSTRYTYPE_HPP */