1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

Unblock basic adventure map actions (scrolling / right-click) in multiplayer

This commit is contained in:
Dydzio
2023-07-26 21:20:11 +02:00
parent 7b17c5ae18
commit ff1a635e9e
3 changed files with 17 additions and 2 deletions

View File

@@ -36,6 +36,14 @@
#include "../../lib/mapping/CMap.h"
#include "../../lib/pathfinder/CGPathNode.h"
bool isCurrentPlayerHuman()
{
PlayerColor currentPlayer = LOCPLINT->cb->getCurrentPlayer();
bool isHuman = LOCPLINT->cb->getStartInfo()->playerInfos.count(currentPlayer)
&& LOCPLINT->cb->getStartInfo()->playerInfos.at(currentPlayer).isControlledByHuman();
return isHuman;
}
AdventureMapShortcuts::AdventureMapShortcuts(AdventureMapInterface & owner)
: owner(owner)
, state(EAdventureState::NOT_INITIALIZED)
@@ -461,7 +469,13 @@ bool AdventureMapShortcuts::optionSidePanelActive()
return state == EAdventureState::MAKING_TURN || state == EAdventureState::WORLD_VIEW;
}
bool AdventureMapShortcuts::optionMapScrollingActive()
{
return state == EAdventureState::MAKING_TURN || state == EAdventureState::WORLD_VIEW || (state == EAdventureState::ENEMY_TURN && isCurrentPlayerHuman());
}
bool AdventureMapShortcuts::optionMapViewActive()
{
return state == EAdventureState::MAKING_TURN || state == EAdventureState::WORLD_VIEW || state == EAdventureState::CASTING_SPELL;
return state == EAdventureState::MAKING_TURN || state == EAdventureState::WORLD_VIEW || state == EAdventureState::CASTING_SPELL
|| (state == EAdventureState::ENEMY_TURN && isCurrentPlayerHuman());
}