Steam Fort 0.5
|
00001 /********************************************************************* 00002 * Copyright 2011 Bartek thindil Jasicki 00003 * 00004 * This file is part of Steam Fort. 00005 * 00006 * Steam Fort is free software: you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation, either version 3 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * Steam Fort is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with Steam Fort. If not, see <http://www.gnu.org/licenses/>. 00018 *********************************************************************/ 00019 #ifndef BUILDING_HPP 00020 #define BUILDING_HPP 00021 #include <string> 00022 #include "libtcod.hpp" 00023 00027 typedef enum BuildingTypes 00028 { 00029 STOREHOUSE, 00030 QUARRY, 00031 COPPERMINE, 00032 TINMINE, 00033 COALMINE, 00034 SMELTER, 00035 WORKSHOP, 00036 FLAG, 00037 ARMORER, 00038 LABORATORY, 00039 IRONMINE, 00040 WEAPONSMITH, 00041 INN, 00042 CARPENTER, 00043 LIBRARY, 00044 LEATHERWORK 00045 } BUILDINGTYPE; 00046 00050 class Building 00051 { 00052 public: 00056 std::string name; 00060 int type; 00064 int width; 00068 int height; 00072 int enter[2]; 00076 std::string mname; 00080 int material; 00084 int mamount; 00088 int buildtime; 00092 int x; 00096 int y; 00100 bool constructed; 00104 std::string workname; 00108 int data; 00112 char underconstruction; 00116 TCODList<int> chars; 00120 TCODList<TCODColor> colors; 00124 TCODList<int> neededitems; 00128 bool unique; 00132 int taken; 00136 std::string description; 00137 00138 Building(); 00139 }; 00140 00141 void buildBuildUI(); 00142 void setVisibleBuild(bool visible); 00143 int construct(int i = -1, int keycode = 0); 00144 int find_proto_build(std::string name, int type = -1); 00145 int find_build(std::string name, int type = -1, bool constructed = true, int x = -1, int y = -1); 00146 00147 #endif