|
@@ -1316,10 +1316,28 @@ void CAltarWindow::selectionChanged(bool side)
|
|
|
slider->block(!slider->getAmount());
|
|
|
slider->moveTo(sacrificedUnits[hLeft->serial]);
|
|
|
max->block(!slider->getAmount());
|
|
|
+ selectOppositeItem(side);
|
|
|
readyToTrade = true;
|
|
|
redraw();
|
|
|
}
|
|
|
|
|
|
+void CAltarWindow::selectOppositeItem(bool side)
|
|
|
+{
|
|
|
+ bool oppositeSide = !side;
|
|
|
+ int pos = vstd::find_pos(items[side], side ? hLeft : hRight);
|
|
|
+ int oppositePos = vstd::find_pos(items[oppositeSide], oppositeSide ? hLeft : hRight);
|
|
|
+
|
|
|
+ if(pos >= 0 && pos != oppositePos)
|
|
|
+ {
|
|
|
+ if(oppositeSide)
|
|
|
+ hLeft = items[oppositeSide][pos];
|
|
|
+ else
|
|
|
+ hRight = items[oppositeSide][pos];
|
|
|
+
|
|
|
+ selectionChanged(oppositeSide);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void CAltarWindow::mimicCres()
|
|
|
{
|
|
|
std::vector<Rect> positions;
|