use bevy::prelude::*;
use bevy_interleave::prelude::*;
#[derive(
Clone,
Debug,
Default,
Planar,
Reflect,
ReflectInterleaved,
StorageBindings,
// TextureBindings,
)]
pub struct MyStruct {
pub field: i32,
pub field2: u32,
pub bool_field: bool,
pub array: [u32; 4],
}
fn main() {
let interleaved = vec![
MyStruct { field: 0, field2: 1_u32, bool_field: true, array: [0, 1, 2, 3] },
MyStruct { field: 2, field2: 3_u32, bool_field: false, array: [4, 5, 6, 7] },
MyStruct { field: 4, field2: 5_u32, bool_field: true, array: [8, 9, 10, 11] },
];
let planar = PlanarMyStruct::from_interleaved(interleaved);
println!("{:?}", planar.field);
println!("{:?}", planar.field2);
println!("{:?}", planar.bool_field);
println!("{:?}", planar.array);
println!("\n\n{:?}", MyStruct::min_binding_sizes());
println!("{:?}", MyStruct::ordered_field_names());
}