2023-09-17 17:40:14 +02:00
|
|
|
/*
|
|
|
|
* CExchangeController.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
|
|
|
|
*
|
|
|
|
*/
|
2024-03-29 12:28:14 +02:00
|
|
|
#pragma once
|
2023-09-17 17:40:14 +02:00
|
|
|
|
2024-04-23 12:49:35 +02:00
|
|
|
#include "../lib/mapObjects/CGHeroInstance.h"
|
2023-09-17 17:40:14 +02:00
|
|
|
|
|
|
|
class CCallback;
|
|
|
|
|
|
|
|
class CExchangeController
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CExchangeController(ObjectInstanceID hero1, ObjectInstanceID hero2);
|
|
|
|
void swapArmy();
|
|
|
|
void moveArmy(bool leftToRight, std::optional<SlotID> heldSlot);
|
|
|
|
void moveStack(bool leftToRight, SlotID sourceSlot);
|
|
|
|
void swapArtifacts(bool equipped, bool baclpack);
|
|
|
|
void moveArtifacts(bool leftToRight, bool equipped, bool baclpack);
|
|
|
|
|
|
|
|
private:
|
|
|
|
const CGHeroInstance * left;
|
|
|
|
const CGHeroInstance * right;
|
|
|
|
};
|