root/trunk/construnit.hh

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

* initial import

Line 
1 /*
2  *  RoxTS
3  *  construnit.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 #ifndef CONSTRUNIT_HH
22 #define CONSTRUNIT_HH
23
24 #include <cmath>
25
26 #include "resourceitem.hh"
27 #include "constrproperties.hh"
28 #include "unit.hh"
29 #include "utils.hh"
30
31 class Building;
32
33 class ConstrUnit : public Unit
34 {
35   // Attributes
36   protected:
37     Building * currentConstruction;
38     Resource * currentResource; // what type of resource has this item?
39     ResourceItem * currentResourceItem; // where does this item get its resource?
40   // Operations
41   public:
42     ConstrUnit(Player * owner, uint16 x, uint16 y, SubGenderName subgender, bool built=false);
43     ~ConstrUnit() {};
44     Building * getCurrentConstruction();
45     void setCurrentConstruction(Building * currentconstruction);
46     Resource * getCurrentResource();
47     void setCurrentResource(Resource * currentresource);
48     void setCurrentResourceQuantity(uint32 quantity);
49     ResourceItem * getCurrentResourceItem();
50     void setCurrentResourceItem(ResourceItem * currentresourceitem);
51     void askConstruction(???);
52     void build(GenderName g, SubGenderName sg);
53     ConstrUnitProperties * getConstrUnitProperties();
54     virtual void updateState();
55     ConstrUnit * castToConstrUnit();
56 };
57
58 #include "builder.hh"
59
60 #endif
Note: See TracBrowser for help on using the browser.