| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /*
- * CArtifactsOfHeroMain.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 "CArtifactsOfHeroMain.h"
- #include "../gui/CGuiHandler.h"
- #include "../CPlayerInterface.h"
- #include "../../lib/mapObjects/CGHeroInstance.h"
- #include "../../CCallback.h"
- #include "../../lib/networkPacks/ArtifactLocation.h"
- CArtifactsOfHeroMain::CArtifactsOfHeroMain(const Point & position)
- {
- init(
- std::bind(&CArtifactsOfHeroBase::clickPrassedArtPlace, this, _1, _2),
- std::bind(&CArtifactsOfHeroBase::showPopupArtPlace, this, _1, _2),
- position,
- std::bind(&CArtifactsOfHeroBase::scrollBackpack, this, _1));
- addGestureCallback(std::bind(&CArtifactsOfHeroBase::gestureArtPlace, this, _1, _2));
- }
- CArtifactsOfHeroMain::~CArtifactsOfHeroMain()
- {
- CArtifactsOfHeroBase::putBackPickedArtifact();
- }
- void CArtifactsOfHeroMain::keyPressed(EShortcut key)
- {
- if(!shortcutPressed)
- {
- uint32_t costumeIdx;
- switch(key)
- {
- case EShortcut::HERO_COSTUME_0:
- costumeIdx = 0;
- break;
- case EShortcut::HERO_COSTUME_1:
- costumeIdx = 1;
- break;
- case EShortcut::HERO_COSTUME_2:
- costumeIdx = 2;
- break;
- case EShortcut::HERO_COSTUME_3:
- costumeIdx = 3;
- break;
- case EShortcut::HERO_COSTUME_4:
- costumeIdx = 4;
- break;
- case EShortcut::HERO_COSTUME_5:
- costumeIdx = 5;
- break;
- case EShortcut::HERO_COSTUME_6:
- costumeIdx = 6;
- break;
- case EShortcut::HERO_COSTUME_7:
- costumeIdx = 7;
- break;
- case EShortcut::HERO_COSTUME_8:
- costumeIdx = 8;
- break;
- case EShortcut::HERO_COSTUME_9:
- costumeIdx = 9;
- break;
- default:
- return;
- }
- shortcutPressed = true;
- LOCPLINT->cb->manageHeroCostume(getHero()->id, costumeIdx, GH.isKeyboardCtrlDown());
- }
- }
- void CArtifactsOfHeroMain::keyReleased(EShortcut key)
- {
- if(vstd::contains(costumesSwitcherHotkeys, key))
- shortcutPressed = false;
- }
|