void VoxelSetHiddenOne(VoxelChunk chunk, int voxelIndex, bool hidden, HideStyle hiddenStyle)
        {
            if (chunk.voxels [voxelIndex].hasContent != 1)
            {
                return;
            }

            int typeIndex = chunk.voxels [voxelIndex].typeIndex;

            if (typeIndex < 0 || typeIndex >= voxelDefinitions.Length)
            {
                return;
            }
            if (voxelDefinitions [typeIndex].seeThroughMode == SeeThroughMode.NotSupported)
            {
                return;
            }

            if (chunk.voxelsExtraData == null)
            {
                if (!hidden)
                {
                    return;
                }
                chunk.voxelsExtraData = new FastHashSet <VoxelExtraData> ();
            }
            VoxelExtraData hiddenVoxel = new VoxelExtraData();

            hiddenVoxel.hidden      = hidden;
            hiddenVoxel.hiddenStyle = hiddenStyle;
            chunk.voxelsExtraData.Add(voxelIndex, hiddenVoxel, true);
        }
        void VoxelSetHiddenOne(VoxelChunk chunk, int voxelIndex, bool hidden, HiddenFilter hiddenFilter)
        {
            bool suitable = chunk.voxels [voxelIndex].hasContent == 1 && (hiddenFilter == HiddenFilter.AnyVoxel || voxelDefinitions [chunk.voxels [voxelIndex].typeIndex].seeThroughMode != SeeThroughMode.None);

            if (!suitable)
            {
                return;
            }

            if (chunk.voxelsExtraData == null)
            {
                if (!hidden)
                {
                    return;
                }
                chunk.voxelsExtraData = new FastHashSet <VoxelExtraData> ();
            }
            VoxelExtraData hiddenVoxel = new VoxelExtraData();

            hiddenVoxel.hidden = hidden;
            chunk.voxelsExtraData.Add(voxelIndex, hiddenVoxel, true);
        }