Resolve "Toggle Free Look with Hotkey"
[ryzomcore.git] / ryzom / client / src / client_sheets / outpost_building_sheet.h
blobda0beb8fb47fbb62e88e9b9c6b9d65cb4c82a05c
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
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.
8 //
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"
23 /**
24 * Outpost building definition for client side management (buy building upgrades ...)
26 * \author Matthieu 'Trap' Besson
27 * \author Nevrax France
28 * \date October 2005
30 class COutpostBuildingSheet : public CEntitySheet
32 public:
34 enum TOBType
36 OB_Empty,
37 OB_TownHall,
38 OB_Driller
40 static TOBType fromString( const std::string & str );
41 static std::string toString( TOBType type );
43 /// The type of the building
44 TOBType OBType;
46 /// cost of the building or upgrade in time (seconds)
47 uint32 CostTime;
49 /// cost in dapper
50 uint32 CostDapper;
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;
69 public:
70 // ctor
71 COutpostBuildingSheet();
73 /// From CEntitySheet
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); }
86 #endif