Переглянути джерело

Fixed UI of objects that provide one reward that can be refused

Ivan Savenko 2 роки тому
батько
коміт
50da080130
1 змінених файлів з 8 додано та 2 видалено
  1. 8 2
      lib/mapObjects/CRewardableObject.cpp

+ 8 - 2
lib/mapObjects/CRewardableObject.cpp

@@ -152,8 +152,14 @@ void CRewardableObject::onHeroVisit(const CGHeroInstance *h) const
 		BlockingDialog sd(canRefuse, rewards.size() > 1);
 		sd.player = h->tempOwner;
 		sd.text = dialog;
-		for (auto index : rewards)
-			sd.components.push_back(info[index].reward.getDisplayedComponent(h));
+
+		if (rewards.size() > 1)
+			for (auto index : rewards)
+				sd.components.push_back(info[index].reward.getDisplayedComponent(h));
+
+		if (rewards.size() == 1)
+			info[rewards[0]].reward.loadComponents(sd.components, h);
+
 		cb->showBlockingDialog(&sd);
 	};