本文整理汇总了C++中BlockInfo::GenerateHallway方法的典型用法代码示例。如果您正苦于以下问题:C++ BlockInfo::GenerateHallway方法的具体用法?C++ BlockInfo::GenerateHallway怎么用?C++ BlockInfo::GenerateHallway使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BlockInfo
的用法示例。
在下文中一共展示了BlockInfo::GenerateHallway方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GenerateHallway
void BlockInfo::GenerateHallway(FRandomStream* randStream)
{
bool canRemove = IsRemoveable();
bIsSolid = false;
if (!canRemove)
return;
bool needsGeneration = true;
do
{
//get a random direction
int direction = randStream->RandRange(0, 3);
EGridDirection::Type gridDirection;
switch (direction)
{
case 0:
gridDirection = EGridDirection::GD_UP;
break;
case 1:
gridDirection = EGridDirection::GD_RIGHT;
break;
case 2:
gridDirection = EGridDirection::GD_DOWN;
break;
case 3:
gridDirection = EGridDirection::GD_LEFT;
break
}
BlockInfo* randBlock = GetAdjacent(gridDirection);//get a block in a random direction
if (!randBlock || randBlock->IsEdge())//check if that block is removeable
{
continue;
}
randBlock->GenerateHallway(randStream);
needsGeneration = false;
} while (needsGeneration);
}