diff --git a/src/snake.rs b/src/snake.rs index ac508d2..93481b1 100644 --- a/src/snake.rs +++ b/src/snake.rs @@ -75,8 +75,16 @@ struct Segments(Vec); #[derive(Component, Debug)] struct Snake; -// #[derive(Bundle)] -// struct SnakeBundle; +#[derive(Bundle)] +struct SnakeBundle { + snake: Snake, + direction_buffer: DirectionBuffer, + collision: Collision, + segments: Segments, + + #[bundle] + spatial_bundle: SpatialBundle, +} #[derive(Component, Copy, Clone, Debug)] enum Direction { @@ -135,14 +143,14 @@ fn setup_snake_system(mut commands: Commands) { .insert(SnakeHead); commands - .spawn(( - Snake, - Name::new("Snake"), - SpatialBundle::default(), - DirectionBuffer::default(), - Collision::default(), - Segments(vec![snake_head]), - )) + .spawn(SnakeBundle { + snake: Snake, + direction_buffer: Default::default(), + collision: Default::default(), + segments: Segments(vec![snake_head]), + spatial_bundle: Default::default(), + }) + .insert(Name::new("Snake")) .add_child(snake_head); }