1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #ifndef RY_OUTPOST_BUILDING_H
18 #define RY_OUTPOST_BUILDING_H
20 #include "entity_sheet.h"
21 #include "client_sheets.h"
24 * Outpost building definition for client side management (buy building upgrades ...)
26 * \author Matthieu 'Trap' Besson
27 * \author Nevrax France
30 class COutpostBuildingSheet
: public CEntitySheet
40 static TOBType
fromString( const std::string
& str
);
41 static std::string
toString( TOBType type
);
43 /// The type of the building
46 /// cost of the building or upgrade in time (seconds)
52 /// Raw Material Level that has the highest extraction rate for the driller
53 uint32 MPLevelOfHighestExtractRate
;
55 /// Mps generated by the driller
56 std::vector
<NLMISC::CSheetId
> Mps
;
58 /// To display a building in lists (like in a CItemSheet)
60 /// icon file name for race type
61 NLMISC::TSStringId IdIconBack
;
62 /// icon file name for main icon type
63 NLMISC::TSStringId IdIconMain
;
64 /// icon file name for overlay
65 NLMISC::TSStringId IdIconOver
;
66 /// icon Special Text (raw materials)
67 NLMISC::TSStringId IdIconText
;
71 COutpostBuildingSheet();
74 virtual void build(const NLGEORGES::UFormElm
&item
);
76 /// From CEntitySheet : serialize sheet into binary data file.
77 virtual void serial(NLMISC::IStream
&f
);
79 std::string
getIconBack() const { return ClientSheetsStrings
.get(IdIconBack
); }
80 std::string
getIconMain() const { return ClientSheetsStrings
.get(IdIconMain
); }
81 std::string
getIconOver() const { return ClientSheetsStrings
.get(IdIconOver
); }
82 std::string
getIconText() const { return ClientSheetsStrings
.get(IdIconText
); }