root/trunk/building.hh

Revision 1, 1.6 kB (checked in by poillubo, 2 years ago)

* initial import

Line 
1 /*
2  *  RoxTS
3  *  building.hh
4  *  Copyright (C) 2006  RASNEUR Vincent
5  *
6  *  This program is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation; either version 2 of the License, or
9  *  (at your option) any later version.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  */
20
21
22 #ifndef BUILDING_HH
23 #define BUILDING_HH
24
25 #include <list>
26 #include <set>
27
28 #include "buildingproperties.hh"
29 #include "item.hh"
30 #include "spatialindex.hh"
31 #include "utils.hh"
32
33 using namespace std;
34
35 class Building: public Item {
36   // Attributes
37 #ifdef SERVER
38     set<Item *> buildersList;
39 #endif
40   // Operations
41   public:
42     Building(Player * owner, uint16 x, uint16 y, SubGenderName subgender, bool built=false);
43     Building(Player * owner, uint16 x, uint16 y, GenderName gender, SubGenderName subgender, bool built=false);
44     ~Building();
45     BuildingProperties * getBuildingProperties();
46 #ifdef SERVER
47     void removeAllBuilders();
48     void addBuilder(Item * cu);
49     void removeBuilder(Item * cu);
50     void giveHP(uint16 hpa);
51 #endif
52     virtual void updateState();
53     virtual Building * castToBuilding();
54 };
55
56 #include "construnit.hh"
57
58 #endif
Note: See TracBrowser for help on using the browser.