فهرست منبع

Fix spellcast cancelation in battle

Ivan Savenko 2 سال پیش
والد
کامیت
1cec6918a0
3فایلهای تغییر یافته به همراه4 افزوده شده و 8 حذف شده
  1. 3 0
      client/battle/BattleActionsController.cpp
  2. 1 7
      client/battle/BattleWindow.cpp
  3. 0 1
      client/battle/BattleWindow.h

+ 3 - 0
client/battle/BattleActionsController.cpp

@@ -971,6 +971,9 @@ void BattleActionsController::activateStack()
 
 void BattleActionsController::onHexRightClicked(BattleHex clickedHex)
 {
+	if (spellcastingModeActive())
+		endCastingSpell();
+
 	auto selectedStack = owner.curInt->cb->battleGetStackByPos(clickedHex, true);
 
 	if (selectedStack != nullptr)

+ 1 - 7
client/battle/BattleWindow.cpp

@@ -85,7 +85,7 @@ BattleWindow::BattleWindow(BattleInterface & owner):
 	else
 		tacticPhaseEnded();
 
-	addUsedEvents(RCLICK | KEYBOARD);
+	addUsedEvents(KEYBOARD);
 }
 
 void BattleWindow::createQueue()
@@ -203,12 +203,6 @@ void BattleWindow::keyPressed(EShortcut key)
 	InterfaceObjectConfigurable::keyPressed(key);
 }
 
-void BattleWindow::clickRight(tribool down, bool previousState)
-{
-	if (!down)
-		owner.actionsController->endCastingSpell();
-}
-
 void BattleWindow::tacticPhaseStarted()
 {
 	auto menuBattle = widget<CIntObject>("menuBattle");

+ 0 - 1
client/battle/BattleWindow.h

@@ -86,7 +86,6 @@ public:
 	void deactivate() override;
 	void keyPressed(EShortcut key) override;
 	bool captureThisKey(EShortcut key) override;
-	void clickRight(tribool down, bool previousState) override;
 	void show(Canvas & to) override;
 	void showAll(Canvas & to) override;