From c771e5f95edb723fef62beca1b7d8141f63be529 Mon Sep 17 00:00:00 2001 From: Derek Christ Date: Mon, 19 Dec 2022 21:38:40 +0100 Subject: [PATCH] Make use of bundle in snake --- src/snake.rs | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) 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); }