Browse Source

use dimming to hide screen

Laserlicht 2 years ago
parent
commit
b143c2786f

+ 7 - 1
client/adventureMap/AdventureMapInterface.cpp

@@ -50,7 +50,8 @@ AdventureMapInterface::AdventureMapInterface():
 	mapAudio(new MapAudioPlayer()),
 	spellBeingCasted(nullptr),
 	scrollingWasActive(false),
-	scrollingWasBlocked(false)
+	scrollingWasBlocked(false),
+	isHotseatMessage(false)
 {
 	OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
 	pos.x = pos.y = 0;
@@ -172,6 +173,8 @@ void AdventureMapInterface::dim(Canvas & to)
 		if (!casted && !window->isPopupWindow())
 		{
 			int backgroundDimLevel = settings["adventure"]["backgroundDimLevel"].Integer();
+			if(isHotseatMessage)
+				backgroundDimLevel = 255;
 			Rect targetRect(0, 0, GH.screenDimensions().x, GH.screenDimensions().y);
 			ColorRGBA colorToFill(0, 0, 0, std::clamp<int>(backgroundDimLevel, 0, 255));
 			if(backgroundDimLevel > 0)
@@ -335,6 +338,7 @@ void AdventureMapInterface::onMapTilesChanged(boost::optional<std::unordered_set
 
 void AdventureMapInterface::onHotseatWaitStarted(PlayerColor playerID)
 {
+	isHotseatMessage = true;
 	onCurrentPlayerChanged(playerID);
 	setState(EAdventureState::HOTSEAT_WAIT);
 }
@@ -379,6 +383,8 @@ void AdventureMapInterface::onCurrentPlayerChanged(PlayerColor playerID)
 
 void AdventureMapInterface::onPlayerTurnStarted(PlayerColor playerID)
 {
+	isHotseatMessage = false;
+
 	onCurrentPlayerChanged(playerID);
 
 	setState(EAdventureState::MAKING_TURN);

+ 3 - 0
client/adventureMap/AdventureMapInterface.h

@@ -59,6 +59,9 @@ private:
 	/// if true, then scrolling was blocked via ctrl and should not restart until player move cursor outside scrolling area
 	bool scrollingWasBlocked;
 
+	/// if true, the hotseat next player is opened
+	bool isHotseatMessage;
+
 	/// spell for which player is selecting target, or nullptr if none
 	const CSpell *spellBeingCasted;