本文整理汇总了C++中WorldMap::fillVolume方法的典型用法代码示例。如果您正苦于以下问题:C++ WorldMap::fillVolume方法的具体用法?C++ WorldMap::fillVolume怎么用?C++ WorldMap::fillVolume使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorldMap
的用法示例。
在下文中一共展示了WorldMap::fillVolume方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void FeatureGenerator::create1by1Tower(v2di_t cornerIndex, int baseHeight, WorldMap &worldMap) {
int worldX = cornerIndex.x * WORLD_CHUNK_SIDE;
int worldZ = cornerIndex.y * WORLD_CHUNK_SIDE;
// height_info_t heightInfo = getHeightInfo (worldX, worldZ, WORLD_CHUNK_SIDE, WORLD_CHUNK_SIDE, worldMap);
// createPlain (cornerIndex, 1, 1, worldMap);
// now build the tower
v3di_t a, b;
//heightInfo.avg++;
int roofHeight = 25;
// fill it
a.x = worldX + 3;
a.y = baseHeight;
a.z = worldZ + 3;
b.x = worldX + 12;
b.y = baseHeight + roofHeight;
b.z = worldZ + 12;
worldMap.fillVolume(a, b, BLOCK_TYPE_OLD_BRICK);
// hollow it out
a.x = worldX + 4;
a.y = baseHeight;
a.z = worldZ + 4;
b.x = worldX + 11;
b.y = baseHeight + roofHeight;
b.z = worldZ + 11;
worldMap.fillVolume(a, b, BLOCK_TYPE_AIR);
// make the door
a.x = worldX + 3;
a.z = worldZ + 7;
a.y = baseHeight;
b.x = worldX + 3;
b.z = worldZ + 8;
b.y = a.y;
for (int i = 0; i < 3; i++) {
worldMap.clearBlock(a);
worldMap.clearBlock(b);
a.y++;
b.y++;
}
// draw a couple stairs
// v3di_t southwestInsideCorner = v3di_v (worldX + 6, heightInfo.avg, worldZ + 6);
// buildSpiralStaircase (southwestInsideCorner, 3, heightInfo.avg + 26,
// r_numi (0, FG_NUM_CORNERS), worldMap);
v3di_t southwestInsideCorner = v3di_v(worldX + 5, baseHeight, worldZ + 5);
FeatureUtil::buildSpiralStaircase(southwestInsideCorner, 5, baseHeight + 26,
r_numi(0, FG_NUM_CORNERS), worldMap);
// v3di_t southwestInsideCorner = v3di_v (worldX + 3, heightInfo.avg, worldZ + 3);
// buildSpiralStaircase (southwestInsideCorner, 9, heightInfo.avg + 27, FG_CORNER_SW, worldMap);
// worldMap.swapOutToInactive ();
}