本文整理汇总了C++中HousePtr::maxHabitants方法的典型用法代码示例。如果您正苦于以下问题:C++ HousePtr::maxHabitants方法的具体用法?C++ HousePtr::maxHabitants怎么用?C++ HousePtr::maxHabitants使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HousePtr
的用法示例。
在下文中一共展示了HousePtr::maxHabitants方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _checkNearestHouse
bool Emigrant::_checkNearestHouse()
{
city::Helper helper( _city() );
for( int k=1; k < 3; k++ )
{
TilePos offset( k, k );
HouseList houses = helper.find<House>( building::house, pos()-offset, pos() + offset );
std::map< int, HousePtr > vacantRoomPriority;
foreach( it, houses )
{
HousePtr house = *it;
unsigned int freeRoom = house->maxHabitants() - house->habitants().count();
vacantRoomPriority[ 1000 - freeRoom ] = house;
}
foreach( it, vacantRoomPriority ) //have destination
{
HousePtr house = it->second;
int freeRoom = house->maxHabitants() - house->habitants().count();
if( freeRoom > 0 )
{
Pathway pathway = PathwayHelper::create( pos(), house->pos(), makeDelegate( _d.data(), &Impl::mayWalk ) );
_updatePathway( pathway );
go();
return true;
}
}
示例2: HousePtr
void Emigrant::_append2house( HousePtr house )
{
int freeRoom = house->maxHabitants() - house->habitants().count();
if( freeRoom > 0 )
{
house->addHabitants( _d->peoples );
_lockHouse( HousePtr() );
}
}