1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-28 08:48:48 +02:00

use dimming to hide screen

This commit is contained in:
Laserlicht 2023-09-24 00:58:48 +02:00 committed by GitHub
parent 1f2ca138dd
commit b143c2786f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -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);

View File

@ -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;