فهرست منبع

Fix visibility of alternative actions button in tactics stage

Ivan Savenko 2 سال پیش
والد
کامیت
a3c5f75600
1فایلهای تغییر یافته به همراه42 افزوده شده و 36 حذف شده
  1. 42 36
      client/battle/BattleWindow.cpp

+ 42 - 36
client/battle/BattleWindow.cpp

@@ -86,34 +86,34 @@ BattleWindow::BattleWindow(BattleInterface & owner):
 void BattleWindow::createQueue()
 {
 	OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
-
-	//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")
-		embedQueue = GH.screenDimensions().y < 700;
-	else
-		embedQueue = GH.screenDimensions().y < 700 || queueSize == "small";
-
-	queue = std::make_shared<StackQueue>(embedQueue, owner);
-	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()
-{
-	CPlayerInterface::battleInt = nullptr;
-}
+
+	//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")
+		embedQueue = GH.screenDimensions().y < 700;
+	else
+		embedQueue = GH.screenDimensions().y < 700 || queueSize == "small";
+
+	queue = std::make_shared<StackQueue>(embedQueue, owner);
+	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()
+{
+	CPlayerInterface::battleInt = nullptr;
+}
 
 std::shared_ptr<BattleConsole> BattleWindow::buildBattleConsole(const JsonNode & config) const
 {
@@ -144,14 +144,14 @@ void BattleWindow::hideQueue()
 	if (!queue->embedded)
 	{
 		//re-center, taking into account stack queue position
-		pos.y += queue->pos.h;
-		pos.h -= queue->pos.h;
-		pos = center();
-	}
-	GH.totalRedraw();
-}
-
-void BattleWindow::showQueue()
+		pos.y += queue->pos.h;
+		pos.h -= queue->pos.h;
+		pos = center();
+	}
+	GH.totalRedraw();
+}
+
+void BattleWindow::showQueue()
 {
 	if(settings["battle"]["showQueue"].Bool() == true)
 		return;
@@ -217,9 +217,12 @@ void BattleWindow::tacticPhaseStarted()
 	auto menuTactics = widget<CIntObject>("menuTactics");
 	auto tacticNext = widget<CIntObject>("tacticNext");
 	auto tacticEnd = widget<CIntObject>("tacticEnd");
+	auto alternativeAction = widget<CIntObject>("alternativeAction");
 
 	menuBattle->disable();
 	console->disable();
+	if (alternativeAction)
+		alternativeAction->disable();
 
 	menuTactics->enable();
 	tacticNext->enable();
@@ -235,9 +238,12 @@ void BattleWindow::tacticPhaseEnded()
 	auto menuTactics = widget<CIntObject>("menuTactics");
 	auto tacticNext = widget<CIntObject>("tacticNext");
 	auto tacticEnd = widget<CIntObject>("tacticEnd");
+	auto alternativeAction = widget<CIntObject>("alternativeAction");
 
 	menuBattle->enable();
 	console->enable();
+	if (alternativeAction)
+		alternativeAction->enable();
 
 	menuTactics->disable();
 	tacticNext->disable();