00001 /* $Id$ */ 00002 00003 /* 00004 * This file is part of OpenTTD. 00005 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. 00006 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00007 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. 00008 */ 00009 00012 #ifndef AI_INDUSTRYTYPE_HPP 00013 #define AI_INDUSTRYTYPE_HPP 00014 00015 #include "ai_object.hpp" 00016 #include "ai_error.hpp" 00017 #include "ai_list.hpp" 00018 00022 class AIIndustryType : public AIObject { 00023 public: 00024 static const char *GetClassName() { return "AIIndustryType"; } 00025 00031 static bool IsValidIndustryType(IndustryType industry_type); 00032 00039 static char *GetName(IndustryType industry_type); 00040 00049 static AIList *GetProducedCargo(IndustryType industry_type); 00050 00059 static AIList *GetAcceptedCargo(IndustryType industry_type); 00060 00067 static bool IsRawIndustry(IndustryType industry_type); 00068 00075 static bool ProductionCanIncrease(IndustryType industry_type); 00076 00083 static Money GetConstructionCost(IndustryType industry_type); 00084 00092 static bool CanBuildIndustry(IndustryType industry_type); 00093 00102 static bool CanProspectIndustry(IndustryType industry_type); 00103 00111 static bool BuildIndustry(IndustryType industry_type, TileIndex tile); 00112 00122 static bool ProspectIndustry(IndustryType industry_type); 00123 00130 static bool IsBuiltOnWater(IndustryType industry_type); 00131 00138 static bool HasHeliport(IndustryType industry_type); 00139 00146 static bool HasDock(IndustryType industry_type); 00147 }; 00148 00149 #endif /* AI_INDUSTRYTYPE_HPP */