mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-13 19:54:17 +02:00
Correctly update battle queue state after changing its state
This commit is contained in:
@@ -89,6 +89,7 @@ void BattleWindow::createQueue()
|
||||
|
||||
//create stack queue and adjust our own position
|
||||
bool embedQueue;
|
||||
bool showQueue = settings["battle"]["showQueue"].Bool();
|
||||
std::string queueSize = settings["battle"]["queueSize"].String();
|
||||
|
||||
if(queueSize == "auto")
|
||||
@@ -97,13 +98,16 @@ void BattleWindow::createQueue()
|
||||
embedQueue = GH.screenDimensions().y < 700 || queueSize == "small";
|
||||
|
||||
queue = std::make_shared<StackQueue>(embedQueue, owner);
|
||||
if(!embedQueue && settings["battle"]["showQueue"].Bool())
|
||||
if(!embedQueue && showQueue)
|
||||
{
|
||||
//re-center, taking into account stack queue position
|
||||
pos.y -= queue->pos.h;
|
||||
pos.h += queue->pos.h;
|
||||
pos = center();
|
||||
}
|
||||
|
||||
if (!showQueue)
|
||||
queue->disable();
|
||||
}
|
||||
|
||||
BattleWindow::~BattleWindow()
|
||||
@@ -143,8 +147,8 @@ void BattleWindow::hideQueue()
|
||||
pos.y += queue->pos.h;
|
||||
pos.h -= queue->pos.h;
|
||||
pos = center();
|
||||
GH.totalRedraw();
|
||||
}
|
||||
GH.totalRedraw();
|
||||
}
|
||||
|
||||
void BattleWindow::showQueue()
|
||||
|
@@ -84,14 +84,19 @@ int BattleOptionsTab::getAnimSpeed() const
|
||||
|
||||
int BattleOptionsTab::getQueueSizeId() const
|
||||
{
|
||||
std::string text = settings["battle"]["queueSize"].String();
|
||||
if(text == "none")
|
||||
std::string sizeText = settings["battle"]["queueSize"].String();
|
||||
bool visible = settings["battle"]["showQueue"].Bool();
|
||||
|
||||
if(!visible)
|
||||
return -1;
|
||||
if(text == "auto")
|
||||
|
||||
if(sizeText == "none")
|
||||
return -1;
|
||||
if(sizeText == "auto")
|
||||
return 0;
|
||||
if(text == "small")
|
||||
if(sizeText == "small")
|
||||
return 1;
|
||||
if(text == "big")
|
||||
if(sizeText == "big")
|
||||
return 2;
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user