| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | 
							- /*
 
-  * CExchangeWindow.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 "CWindowWithArtifacts.h"
 
- #include "../widgets/CExchangeController.h"
 
- class CGarrisonSlot;
 
- class CExchangeWindow : public CStatusbarWindow, public IGarrisonHolder, public CWindowWithArtifacts
 
- {
 
- 	std::array<std::shared_ptr<CLabel>, 2> titles;
 
- 	std::vector<std::shared_ptr<CAnimImage>> primSkillImages;//shared for both heroes
 
- 	std::array<std::vector<std::shared_ptr<CLabel>>, 2> primSkillValues;
 
- 	std::array<std::vector<std::shared_ptr<CAnimImage>>, 2> secSkillIcons;
 
- 	std::array<std::shared_ptr<CAnimImage>, 2> specImages;
 
- 	std::array<std::shared_ptr<CAnimImage>, 2> expImages;
 
- 	std::array<std::shared_ptr<CLabel>, 2> expValues;
 
- 	std::array<std::shared_ptr<CAnimImage>, 2> manaImages;
 
- 	std::array<std::shared_ptr<CLabel>, 2> manaValues;
 
- 	std::vector<std::shared_ptr<LRClickableAreaWTextComp>> primSkillAreas;
 
- 	std::array<std::vector<std::shared_ptr<LRClickableAreaWTextComp>>, 2> secSkillAreas;
 
- 	std::array<std::shared_ptr<CHeroArea>, 2> heroAreas;
 
- 	std::array<std::shared_ptr<LRClickableAreaWText>, 2> specialtyAreas;
 
- 	std::array<std::shared_ptr<LRClickableAreaWText>, 2> experienceAreas;
 
- 	std::array<std::shared_ptr<LRClickableAreaWText>, 2> spellPointsAreas;
 
- 	std::array<std::shared_ptr<MoraleLuckBox>, 2> morale;
 
- 	std::array<std::shared_ptr<MoraleLuckBox>, 2> luck;
 
- 	std::shared_ptr<CButton> quit;
 
- 	std::array<std::shared_ptr<CButton>, 2> questlogButton;
 
- 	std::shared_ptr<CGarrisonInt> garr;
 
- 	std::shared_ptr<CButton> buttonMoveUnitsFromLeftToRight;
 
- 	std::shared_ptr<CButton> buttonMoveUnitsFromRightToLeft;
 
- 	std::shared_ptr<CButton> buttonMoveArtifactsFromLeftToRight;
 
- 	std::shared_ptr<CButton> buttonMoveArtifactsFromRightToLeft;
 
- 	std::shared_ptr<CButton> exchangeUnitsButton;
 
- 	std::shared_ptr<CButton> exchangeArtifactsButton;
 
- 	std::vector<std::shared_ptr<CButton>> moveUnitFromLeftToRightButtons;
 
- 	std::vector<std::shared_ptr<CButton>> moveUnitFromRightToLeftButtons;
 
- 	std::shared_ptr<CButton> backpackButtonLeft;
 
- 	std::shared_ptr<CButton> backpackButtonRight;
 
- 	CExchangeController controller;
 
- 	void moveArtifactsCallback(bool leftToRight);
 
- 	void swapArtifactsCallback();
 
- 	void moveUnitsShortcut(bool leftToRight);
 
- 	void backpackShortcut(bool leftHero);
 
- 	void questLogShortcut();
 
- 	std::array<const CGHeroInstance *, 2> heroInst;
 
- 	std::array<std::shared_ptr<CArtifactsOfHeroMain>, 2> artifs;
 
- 	const CGarrisonSlot * getSelectedSlotID() const;
 
- public:
 
- 	CExchangeWindow(ObjectInstanceID hero1, ObjectInstanceID hero2, QueryID queryID);
 
- 	void keyPressed(EShortcut key) override;
 
- 	void update() override;
 
- 	// IGarrisonHolder impl
 
- 	void updateGarrisons() override;
 
- 	bool holdsGarrison(const CArmedInstance * army) override;
 
- };
 
 
  |