ManaPlus
skilldata.cpp
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2004-2009 The Mana World Development Team
4  * Copyright (C) 2009-2010 The Mana Developers
5  * Copyright (C) 2011-2017 The ManaPlus Developers
6  *
7  * This file is part of The ManaPlus Client.
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program. If not, see <http://www.gnu.org/licenses/>.
21  */
22 
24 
25 #include "configuration.h"
26 
27 #include "gui/theme.h"
28 
29 #include "resources/image/image.h"
30 
32 
33 #include "debug.h"
34 
36  name(),
37  shortName(),
38  dispName(),
39  description(),
40  missile(),
41  castingMissile(),
42  invokeCmd(),
43  castingAnimation(),
44  soundHit(std::string(), 0),
45  soundMiss(std::string(), 0),
46  icon(nullptr),
47  updateEffectId(-1),
48  removeEffectId(-1),
49  hitEffectId(-1),
50  missEffectId(-1),
51  castingSrcEffectId(-1),
52  castingDstEffectId(-1),
53  castingGroundEffectId(-1),
54  srcEffectId(-1),
55  dstEffectId(-1),
56  haveIcon(false),
57  autoTab(true)
58 {
59 }
60 
62 {
63  if (icon != nullptr)
64  {
65  icon->decRef();
66  icon = nullptr;
67  }
68 }
69 
70 void SkillData::setIcon(const std::string &iconPath)
71 {
72  if (!iconPath.empty())
73  icon = Loader::getImage(iconPath);
74 
75  if (icon == nullptr)
76  {
78  paths.getStringValue("unknownItemFile"));
79  }
80 }
std::string getStringValue(const std::string &key) const
Image * icon
Definition: skilldata.h:46
Image * getImage(const std::string &idPath)
Definition: imageloader.cpp:85
static Image * getImageFromTheme(const std::string &path)
Definition: theme.cpp:654
#define nullptr
Definition: localconsts.h:44
void setIcon(const std::string &iconPath)
Definition: skilldata.cpp:70
Configuration paths
void decRef()
Definition: image.cpp:521