本文整理汇总了C++中Voxel::ClearVoxel方法的典型用法代码示例。如果您正苦于以下问题:C++ Voxel::ClearVoxel方法的具体用法?C++ Voxel::ClearVoxel怎么用?C++ Voxel::ClearVoxel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Voxel
的用法示例。
在下文中一共展示了Voxel::ClearVoxel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BuildPathAtTile
/**
* Build a path at a tile, and claim the voxels above it as well.
* @param voxel_pos Coordinate of the voxel.
* @param path_type The type of path to build.
* @param path_spr Imploded sprite number.
* @see RemovePathAtTile
*/
static void BuildPathAtTile(const XYZPoint16 &voxel_pos, PathType path_type, uint8 path_spr)
{
VoxelStack *avs = _additions.GetModifyStack(voxel_pos.x, voxel_pos.y);
Voxel *av = avs->GetCreate(voxel_pos.z, true);
av->SetInstance(SRI_PATH);
uint8 slope = AddRemovePathEdges(voxel_pos, path_spr, EDGE_ALL, true, _sprite_manager.GetPathStatus(path_type));
av->SetInstanceData(MakePathInstanceData(slope, path_type));
av = avs->GetCreate(voxel_pos.z + 1, true);
av->ClearVoxel();
av->SetInstance(SRI_PATH);
av->SetInstanceData(PATH_INVALID);
if (path_spr >= PATH_FLAT_COUNT) { // For non-flat sprites, add another voxel.
av = avs->GetCreate(voxel_pos.z + 2, true);
av->ClearVoxel();
av->SetInstance(SRI_PATH);
av->SetInstanceData(PATH_INVALID);
}
MarkVoxelDirty(voxel_pos);
}