|
@@ -17,6 +17,7 @@
|
|
|
#include "QuickRecruitmentWindow.h"
|
|
|
#include "../gui/CGuiHandler.h"
|
|
|
#include "../../lib/CCreatureHandler.h"
|
|
|
+#include "CCreatureWindow.h"
|
|
|
|
|
|
void CreaturePurchaseCard::initButtons()
|
|
|
{
|
|
@@ -46,6 +47,7 @@ void CreaturePurchaseCard::switchCreatureLevel()
|
|
|
auto index = vstd::find_pos(upgradesID, creatureOnTheCard->idNumber);
|
|
|
auto nextCreatureId = vstd::circularAt(upgradesID, ++index);
|
|
|
creatureOnTheCard = nextCreatureId.toCreature();
|
|
|
+ creatureClickArea = std::make_shared<CCreatureClickArea>(Point(pos.x + CCreatureClickArea::CREATURE_X_POS, pos.y + CCreatureClickArea::CREATURE_Y_POS), picture, creatureOnTheCard);
|
|
|
picture = std::make_shared<CCreaturePic>(parent->pos.x, parent->pos.y, creatureOnTheCard);
|
|
|
parent->updateAllSliders();
|
|
|
cost->set(creatureOnTheCard->cost * slider->getValue());
|
|
@@ -96,8 +98,27 @@ void CreaturePurchaseCard::initView()
|
|
|
{
|
|
|
picture = std::make_shared<CCreaturePic>(pos.x, pos.y, creatureOnTheCard);
|
|
|
background = std::make_shared<CPicture>("QuickRecruitmentWindow/CreaturePurchaseCard.png", pos.x-4, pos.y-50);
|
|
|
+ initButtons();
|
|
|
+
|
|
|
+ creatureClickArea = std::make_shared<CCreatureClickArea>(Point(pos.x + CCreatureClickArea::CREATURE_X_POS, pos.y + CCreatureClickArea::CREATURE_Y_POS), picture, creatureOnTheCard);
|
|
|
+
|
|
|
initAmountInfo();
|
|
|
initSlider();
|
|
|
- initButtons();
|
|
|
initCostBox();
|
|
|
}
|
|
|
+
|
|
|
+CreaturePurchaseCard::CCreatureClickArea::CCreatureClickArea(const Point & position, const std::shared_ptr<CCreaturePic> creaturePic, const CCreature * creatureOnTheCard)
|
|
|
+ : CIntObject(RCLICK),
|
|
|
+ creatureOnTheCard(creatureOnTheCard)
|
|
|
+{
|
|
|
+ pos.x = position.x;
|
|
|
+ pos.y = position.y;
|
|
|
+ pos.w = CREATURE_WIDTH;
|
|
|
+ pos.h = CREATURE_HEIGHT;
|
|
|
+}
|
|
|
+
|
|
|
+void CreaturePurchaseCard::CCreatureClickArea::clickRight(tribool down, bool previousState)
|
|
|
+{
|
|
|
+ if (down)
|
|
|
+ GH.pushIntT<CStackWindow>(creatureOnTheCard, true);
|
|
|
+}
|