| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- /*
 
-  * CArtifactsOfHeroMarket.cpp, 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
 
-  *
 
-  */
 
- #include "StdInc.h"
 
- #include "CArtifactsOfHeroMarket.h"
 
- #include "../../lib/entities/artifact/CArtifact.h"
 
- #include "../../lib/mapObjects/CGHeroInstance.h"
 
- CArtifactsOfHeroMarket::CArtifactsOfHeroMarket(const Point & position, const int selectionWidth)
 
- {
 
- 	init(position, std::bind(&CArtifactsOfHeroBase::scrollBackpack, this, _1));
 
- 	setClickPressedArtPlacesCallback(std::bind(&CArtifactsOfHeroBase::clickPressedArtPlace, this, _1, _2));
 
- 	for(const auto & [slot, artPlace] : artWorn)
 
- 		artPlace->setSelectionWidth(selectionWidth);
 
- 	for(auto artPlace : backpack)
 
- 		artPlace->setSelectionWidth(selectionWidth);
 
- };
 
- void CArtifactsOfHeroMarket::clickPressedArtPlace(CComponentHolder & artPlace, const Point & cursorPosition)
 
- {
 
- 	if(auto ownedPlace = getArtPlace(cursorPosition))
 
- 	{
 
- 		if(ownedPlace->isLocked())
 
- 			return;
 
- 		if(const auto art = getArt(ownedPlace->slot))
 
- 		{
 
- 			if(onSelectArtCallback && art->getType()->isTradable())
 
- 			{
 
- 				unmarkSlots();
 
- 				artPlace.selectSlot(true);
 
- 				onSelectArtCallback(ownedPlace.get());
 
- 			}
 
- 			else
 
- 			{
 
- 				if(onClickNotTradableCallback)
 
- 					onClickNotTradableCallback();
 
- 			}
 
- 		}
 
- 	}
 
- }
 
 
  |