Steam Fort 0.5

src/building.hpp

Go to the documentation of this file.
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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines