本文整理汇总了C++中CvImprovementEntry::GetImprovementResourceYield方法的典型用法代码示例。如果您正苦于以下问题:C++ CvImprovementEntry::GetImprovementResourceYield方法的具体用法?C++ CvImprovementEntry::GetImprovementResourceYield怎么用?C++ CvImprovementEntry::GetImprovementResourceYield使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CvImprovementEntry
的用法示例。
在下文中一共展示了CvImprovementEntry::GetImprovementResourceYield方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ComputeProductionValue
/// Value of plot for providing hammers
int CvCitySiteEvaluator::ComputeProductionValue(CvPlot* pPlot, CvPlayer* pPlayer)
{
int rtnValue = 0;
// From tile yield
if(pPlayer == NULL)
{
rtnValue += pPlot->calculateNatureYield(YIELD_PRODUCTION, NO_TEAM);
}
else
{
rtnValue += pPlot->calculateNatureYield(YIELD_PRODUCTION, pPlayer->getTeam());
}
// From resource
TeamTypes eTeam = NO_TEAM;
if(pPlayer != NULL)
{
eTeam = pPlayer->getTeam();
}
ResourceTypes eResource;
eResource = pPlot->getResourceType(eTeam);
if(eResource != NO_RESOURCE)
{
rtnValue += GC.getResourceInfo(eResource)->getYieldChange(YIELD_PRODUCTION);
CvImprovementEntry* pImprovement = GC.GetGameImprovements()->GetImprovementForResource(eResource);
if(pImprovement)
{
rtnValue += pImprovement->GetImprovementResourceYield(eResource, YIELD_PRODUCTION);
}
}
return rtnValue * m_iFlavorMultiplier[YIELD_PRODUCTION];
}
示例2: ComputeGoldValue
/// Value of plot for providing gold
int CvCitySiteEvaluator::ComputeGoldValue(CvPlot* pPlot, const CvPlayer* pPlayer)
{
int rtnValue = 0;
// From tile yield
if(pPlayer == NULL)
{
rtnValue += pPlot->calculateNatureYield(YIELD_GOLD, NO_PLAYER);
}
else
{
rtnValue += pPlot->calculateNatureYield(YIELD_GOLD, pPlayer->GetID());
}
// From resource
TeamTypes eTeam = NO_TEAM;
if(pPlayer != NULL)
{
eTeam = pPlayer->getTeam();
}
ResourceTypes eResource;
eResource = pPlot->getResourceType(eTeam);
if(eResource != NO_RESOURCE)
{
//can we build an improvement on this resource? assume we will do it (natural yield is already considered)
CvImprovementEntry* pImprovement = GC.GetGameImprovements()->GetImprovementForResource(eResource);
if(pImprovement)
{
rtnValue += pImprovement->GetImprovementResourceYield(eResource, YIELD_GOLD);
}
}
return rtnValue * m_iFlavorMultiplier[YIELD_GOLD];
}