24 lines
647 B
Rust
24 lines
647 B
Rust
use block_mesh::Voxel;
|
|
use common::space::three_dimensional::traits::{DefaultVoxel, DefaultVoxelKinds};
|
|
|
|
#[derive(Copy, Clone)]
|
|
pub struct BoolVoxel(pub bool);
|
|
|
|
impl Voxel for BoolVoxel {
|
|
fn get_visibility(&self) -> block_mesh::VoxelVisibility {
|
|
match self.0 {
|
|
true => block_mesh::VoxelVisibility::Opaque,
|
|
false => block_mesh::VoxelVisibility::Empty,
|
|
}
|
|
}
|
|
}
|
|
|
|
impl DefaultVoxel for BoolVoxel {
|
|
fn get_default(kind: DefaultVoxelKinds) -> Self {
|
|
match kind {
|
|
DefaultVoxelKinds::None => BoolVoxel(false),
|
|
DefaultVoxelKinds::Solid => BoolVoxel(true),
|
|
}
|
|
}
|
|
}
|