ScummVM API documentation
Item.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22/*
23 * This code is based on the CRAB engine
24 *
25 * Copyright (c) Arvind Raja Yadav
26 *
27 * Licensed under MIT
28 *
29 */
30
31#ifndef CRAB_ITEM_H
32#define CRAB_ITEM_H
33
34#include "crab/image/ImageManager.h"
35#include "crab/people/person.h"
36#include "crab/stat/bonus.h"
37
38namespace Crab {
39
40namespace pyrodactyl {
41namespace item {
42struct Item {
43 // The id, name and description of the item
44 Common::String _id, _name, _desc;
45
46 // The image for the item
47 ImageKey _img;
48
49 // The type of item
50 Common::String _type;
51
52 // The stat bonuses provided by the item
54
55 // The price
56 uint _value;
57
58 Item() {
59 clear();
60 }
61
62 ~Item() {}
63
64 void clear();
65 void statChange(pyrodactyl::people::Person &obj, bool increase);
66
67 void load(rapidxml::xml_node<char> *node);
68 void draw(const int &x, const int &y);
69
70 void saveState(rapidxml::xml_document<> &doc, rapidxml::xml_node<char> *root);
71};
72} // End of namespace item
73} // End of namespace pyrodactyl
74
75} // End of namespace Crab
76
77#endif // CRAB_ITEM_H
Definition: array.h:52
Definition: str.h:59
Definition: Item.h:42
Definition: person.h:43