2023-09-17 00:32:10 +02:00
|
|
|
/*
|
|
|
|
* CHeroOverview.h, part of VCMI engine
|
|
|
|
*
|
|
|
|
* Authors: listed in file AUTHORS in main folder
|
|
|
|
*
|
|
|
|
* License: GNU General Public License v2.0 or later
|
|
|
|
* Full text of license available in license.txt file, in main folder
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "../windows/CWindowObject.h"
|
|
|
|
|
|
|
|
class CLabel;
|
2023-09-17 03:21:29 +02:00
|
|
|
class CMultiLineLabel;
|
2023-09-17 00:32:10 +02:00
|
|
|
class CFilledTexture;
|
|
|
|
class CAnimImage;
|
|
|
|
class CComponentBox;
|
|
|
|
class CTextBox;
|
2023-09-17 20:34:31 +02:00
|
|
|
class TransparentFilledRectangle;
|
|
|
|
class SimpleLine;
|
2023-09-17 00:32:10 +02:00
|
|
|
|
|
|
|
class CHeroOverview : public CWindowObject
|
|
|
|
{
|
2023-09-17 13:22:39 +02:00
|
|
|
const HeroTypeID & hero;
|
2023-09-17 21:41:55 +02:00
|
|
|
int heroIdx;
|
2023-09-17 00:32:10 +02:00
|
|
|
|
2023-09-17 16:55:26 +02:00
|
|
|
const int yOffset = 35;
|
|
|
|
const int borderOffset = 5;
|
2023-09-17 21:41:55 +02:00
|
|
|
const ColorRGBA rectangleColor = ColorRGBA(0, 0, 0, 75);
|
2023-09-17 16:55:26 +02:00
|
|
|
const ColorRGBA borderColor = ColorRGBA(128, 100, 75);
|
2023-09-17 23:01:18 +02:00
|
|
|
const ColorRGBA grayedColor = ColorRGBA(158, 130, 105);
|
2023-09-17 16:55:26 +02:00
|
|
|
|
2023-09-17 00:32:10 +02:00
|
|
|
std::shared_ptr<CFilledTexture> backgroundTexture;
|
2023-09-17 21:41:55 +02:00
|
|
|
std::vector<std::shared_ptr<TransparentFilledRectangle>> backgroundRectangles;
|
|
|
|
std::vector<std::shared_ptr<SimpleLine>> backgroundLines;
|
|
|
|
|
2023-09-17 00:32:10 +02:00
|
|
|
std::shared_ptr<CLabel> labelTitle;
|
2023-09-17 13:22:39 +02:00
|
|
|
std::shared_ptr<CAnimImage> imageHero;
|
2023-09-17 02:14:03 +02:00
|
|
|
std::shared_ptr<CLabel> labelHeroName;
|
2023-09-17 03:21:29 +02:00
|
|
|
std::shared_ptr<CMultiLineLabel> labelHeroBiography;
|
2023-09-17 02:14:03 +02:00
|
|
|
std::shared_ptr<CLabel> labelHeroClass;
|
2023-09-17 00:32:10 +02:00
|
|
|
std::shared_ptr<CLabel> labelHeroSpeciality;
|
|
|
|
std::shared_ptr<CAnimImage> imageSpeciality;
|
2023-09-17 04:10:08 +02:00
|
|
|
std::vector<std::shared_ptr<CLabel>> labelSkillHeader;
|
|
|
|
std::vector<std::shared_ptr<CAnimImage>> imageSkill;
|
|
|
|
std::vector<std::shared_ptr<CLabel>> labelSkillFooter;
|
2023-09-17 00:32:10 +02:00
|
|
|
std::shared_ptr<CLabel> labelSpecialityName;
|
2023-09-17 03:21:29 +02:00
|
|
|
std::shared_ptr<CMultiLineLabel> labelSpecialityDescription;
|
2023-09-17 00:32:10 +02:00
|
|
|
|
2023-09-17 13:22:39 +02:00
|
|
|
std::shared_ptr<CLabel> labelArmyTitle;
|
|
|
|
std::vector<std::shared_ptr<CAnimImage>> imageArmy;
|
|
|
|
std::vector<std::shared_ptr<CLabel>> labelArmyCount;
|
|
|
|
|
|
|
|
std::shared_ptr<CLabel> labelWarMachineTitle;
|
|
|
|
std::vector<std::shared_ptr<CAnimImage>> imageWarMachine;
|
|
|
|
|
2023-09-17 15:28:05 +02:00
|
|
|
std::shared_ptr<CLabel> labelSpellTitle;
|
2023-09-17 13:22:39 +02:00
|
|
|
std::vector<std::shared_ptr<CAnimImage>> imageSpells;
|
|
|
|
std::vector<std::shared_ptr<CLabel>> labelSpellsNames;
|
|
|
|
|
2023-09-17 15:28:05 +02:00
|
|
|
std::shared_ptr<CLabel> labelSecSkillTitle;
|
|
|
|
std::vector<std::shared_ptr<CAnimImage>> imageSecSkills;
|
|
|
|
std::vector<std::shared_ptr<CLabel>> labelSecSkillsNames;
|
|
|
|
|
2023-09-17 16:55:26 +02:00
|
|
|
void genBackground();
|
|
|
|
void genControls();
|
2023-09-17 00:32:10 +02:00
|
|
|
|
|
|
|
public:
|
|
|
|
CHeroOverview(const HeroTypeID & h);
|
|
|
|
};
|