1//////////////////////////////////////////////////////////////////////
2// This file is part of Remere's Map Editor
3//////////////////////////////////////////////////////////////////////
4// Remere's Map Editor is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// Remere's Map Editor 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 General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
16//////////////////////////////////////////////////////////////////////
17
18#ifndef RME_EXTENSION_H_
19#define RME_EXTENSION_H_
20
21#include "tileset.h"
22#include "client_version.h"
23
24class MaterialsExtension {
25public:
26 MaterialsExtension(std::string name, std::string author, std::string description);
27 ~MaterialsExtension();
28
29 void addVersion(const std::string& versionString);
30 bool isForVersion(uint16_t versionId);
31 std::string getVersionString();
32
33 std::string name;
34 std::string url;
35 std::string author;
36 std::string author_url;
37 std::string description;
38 bool for_all_versions;
39 ClientVersionList version_list;
40
41private:
42 MaterialsExtension(const MaterialsExtension&);
43 MaterialsExtension& operator=(const MaterialsExtension&);
44};
45
46typedef std::vector<MaterialsExtension*> MaterialsExtensionList;
47
48#endif
49