本文整理汇总了C++中CvCity::BuyPlot方法的典型用法代码示例。如果您正苦于以下问题:C++ CvCity::BuyPlot方法的具体用法?C++ CvCity::BuyPlot怎么用?C++ CvCity::BuyPlot使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CvCity
的用法示例。
在下文中一共展示了CvCity::BuyPlot方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ResponseCityBuyPlot
//------------------------------------------------------------------------------
void CvDllNetMessageHandler::ResponseCityBuyPlot(PlayerTypes ePlayer, int iCityID, int iX, int iY)
{
CvPlayerAI& kPlayer = GET_PLAYER(ePlayer);
CvCity* pkCity = kPlayer.getCity(iCityID);
if(pkCity != NULL)
{
CvPlot* pkPlot = NULL;
// (-1,-1) means pick a random plot to buy
if(iX == -1 && iY == -1)
{
#if defined(MOD_BALANCE_CORE)
pkPlot = pkCity->GetNextBuyablePlot(false);
#else
pkPlot = pkCity->GetNextBuyablePlot();
#endif
}
else
{
pkPlot = GC.getMap().plot(iX, iY);
}
if(pkPlot != NULL)
{
if(pkCity->CanBuyPlot(pkPlot->getX(), pkPlot->getY()))
{
pkCity->BuyPlot(pkPlot->getX(), pkPlot->getY());
if(ePlayer == GC.getGame().getActivePlayer() && GC.GetEngineUserInterface()->isCityScreenUp())
{
GC.GetEngineUserInterface()->setDirty(CityScreen_DIRTY_BIT, true);
}
}
}
}
}