瀏覽代碼

Make possible to play with different timers independently

nordsoft 2 年之前
父節點
當前提交
4ee47b01ae
共有 3 個文件被更改,包括 6 次插入9 次删除
  1. 1 1
      client/adventureMap/AdventureMapInterface.cpp
  2. 2 2
      lib/TurnTimerInfo.cpp
  3. 3 6
      server/TurnTimerHandler.cpp

+ 1 - 1
client/adventureMap/AdventureMapInterface.cpp

@@ -63,7 +63,7 @@ AdventureMapInterface::AdventureMapInterface():
 	shortcuts->setState(EAdventureState::MAKING_TURN);
 	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>();
 	
 	addUsedEvents(KEYBOARD | TIME);

+ 2 - 2
lib/TurnTimerInfo.cpp

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

+ 3 - 6
server/TurnTimerHandler.cpp

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