1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-21 00:19:29 +02:00

Make possible to play with different timers independently

This commit is contained in:
nordsoft
2023-08-28 01:59:47 +04:00
parent 6226ddf4a7
commit 4ee47b01ae
3 changed files with 6 additions and 9 deletions

View File

@ -63,7 +63,7 @@ AdventureMapInterface::AdventureMapInterface():
shortcuts->setState(EAdventureState::MAKING_TURN); shortcuts->setState(EAdventureState::MAKING_TURN);
widget->getMapView()->onViewMapActivated(); widget->getMapView()->onViewMapActivated();
if(LOCPLINT->cb->getStartInfo()->turnTimerInfo.isEnabled()) if(LOCPLINT->cb->getStartInfo()->turnTimerInfo.isEnabled() || LOCPLINT->cb->getStartInfo()->turnTimerInfo.isBattleEnabled())
watches = std::make_shared<TurnTimerWidget>(); watches = std::make_shared<TurnTimerWidget>();
addUsedEvents(KEYBOARD | TIME); addUsedEvents(KEYBOARD | TIME);

View File

@ -14,12 +14,12 @@ VCMI_LIB_NAMESPACE_BEGIN
bool TurnTimerInfo::isEnabled() const bool TurnTimerInfo::isEnabled() const
{ {
return turnTimer > 0; return turnTimer > 0 || baseTimer > 0;
} }
bool TurnTimerInfo::isBattleEnabled() const bool TurnTimerInfo::isBattleEnabled() const
{ {
return creatureTimer > 0; return creatureTimer > 0 || battleTimer > 0;
} }
VCMI_LIB_NAMESPACE_END VCMI_LIB_NAMESPACE_END

View File

@ -29,15 +29,12 @@ TurnTimerHandler::TurnTimerHandler(CGameHandler & gh):
void TurnTimerHandler::onGameplayStart(PlayerColor player) void TurnTimerHandler::onGameplayStart(PlayerColor player)
{ {
if(const auto * si = gameHandler.getStartInfo()) if(const auto * si = gameHandler.getStartInfo())
{
if(si->turnTimerInfo.isEnabled())
{ {
std::lock_guard<std::recursive_mutex> guard(mx); std::lock_guard<std::recursive_mutex> guard(mx);
timers[player] = si->turnTimerInfo; timers[player] = si->turnTimerInfo;
timers[player].turnTimer = 0; timers[player].turnTimer = 0;
} }
} }
}
void TurnTimerHandler::onPlayerGetTurn(PlayerColor player) void TurnTimerHandler::onPlayerGetTurn(PlayerColor player)
{ {