ManaPlus
src
itemcolormanager.cpp
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2015-2019 The ManaPlus Developers
4
* Copyright (C) 2019-2021 Andrei Karas
5
*
6
* This file is part of The ManaPlus Client.
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
#include "
itemcolormanager.h
"
23
24
#include "
resources/iteminfo.h
"
25
26
#include "
resources/db/itemdb.h
"
27
28
#include "
resources/item/cardslist.h
"
29
30
#include "
debug.h
"
31
32
ItemColor
ItemColorManager::getColorFromCards
(
const
int
*
const
cards)
33
{
34
if
(cards ==
nullptr
)
35
return
ItemColor_one
;
36
if
(cards[0] ==
CARD0_FORGE
||
37
cards[0] ==
CARD0_CREATE
||
38
cards[0] ==
CARD0_PET
)
39
{
40
return
ItemColor_one
;
41
}
42
for
(
int
f = 0; f <
maxCards
; f ++)
43
{
44
const
int
id
= cards[f];
45
if
(
id
== 0)
46
continue
;
47
const
ItemInfo
&
info
=
ItemDB::get
(
id
);
48
const
ItemColor
&color =
info
.getCardColor();
49
if
(color !=
ItemColor_zero
)
50
return
color;
51
}
52
return
ItemColor_one
;
53
}
54
55
ItemColor
ItemColorManager::getColorFromCards
(
const
CardsList
&cards)
56
{
57
return
getColorFromCards
(&cards.
cards
[0]);
58
}
CARD0_CREATE
#define CARD0_CREATE
Definition:
cards.h:29
maxCards
#define maxCards
Definition:
cards.h:25
CARD0_PET
#define CARD0_PET
Definition:
cards.h:30
CARD0_FORGE
#define CARD0_FORGE
Definition:
cards.h:28
cardslist.h
ItemColorManager::getColorFromCards
static ItemColor getColorFromCards(const int *const cards)
Definition:
itemcolormanager.cpp:32
ItemInfo
Definition:
iteminfo.h:54
debug.h
ItemColor_one
const ItemColor ItemColor_one
Definition:
itemcolor.h:30
ItemColor
uint16_t ItemColor
Definition:
itemcolor.h:30
ItemColor_zero
const ItemColor ItemColor_zero
Definition:
itemcolor.h:30
itemcolormanager.h
itemdb.h
iteminfo.h
Actions::info
bool info(InputEvent &event)
Definition:
commands.cpp:57
ItemDB::get
const ItemInfo & get(const int id)
Definition:
itemdb.cpp:792
CardsList
Definition:
cardslist.h:32
CardsList::cards
int cards[4]
Definition:
cardslist.h:68
Generated on Wed Mar 17 2021 19:19:08 for ManaPlus by
1.9.1