diff --git a/crates/bevy_sprite/src/entity.rs b/crates/bevy_sprite/src/entity.rs index 9136cce5ed..ca5bb47853 100644 --- a/crates/bevy_sprite/src/entity.rs +++ b/crates/bevy_sprite/src/entity.rs @@ -12,7 +12,7 @@ use bevy_render::{ }; use bevy_transform::prelude::{GlobalTransform, Transform}; -#[derive(Bundle)] +#[derive(Bundle, Clone)] pub struct SpriteBundle { pub sprite: Sprite, pub mesh: Handle, // TODO: maybe abstract this out @@ -48,7 +48,7 @@ impl Default for SpriteBundle { /// A Bundle of components for drawing a single sprite from a sprite sheet (also referred /// to as a `TextureAtlas`) -#[derive(Bundle)] +#[derive(Bundle, Clone)] pub struct SpriteSheetBundle { /// The specific sprite from the texture atlas to be drawn pub sprite: TextureAtlasSprite, diff --git a/crates/bevy_sprite/src/sprite.rs b/crates/bevy_sprite/src/sprite.rs index b5c3c836d5..f35f712f25 100644 --- a/crates/bevy_sprite/src/sprite.rs +++ b/crates/bevy_sprite/src/sprite.rs @@ -6,7 +6,7 @@ use bevy_reflect::{Reflect, ReflectDeserialize, TypeUuid}; use bevy_render::{renderer::RenderResources, texture::Texture}; use serde::{Deserialize, Serialize}; -#[derive(Debug, Default, RenderResources, TypeUuid, Reflect)] +#[derive(Debug, Default, Clone, RenderResources, TypeUuid, Reflect)] #[uuid = "7233c597-ccfa-411f-bd59-9af349432ada"] pub struct Sprite { pub size: Vec2, diff --git a/crates/bevy_sprite/src/texture_atlas.rs b/crates/bevy_sprite/src/texture_atlas.rs index c78d398432..aa525bd71f 100644 --- a/crates/bevy_sprite/src/texture_atlas.rs +++ b/crates/bevy_sprite/src/texture_atlas.rs @@ -25,7 +25,7 @@ pub struct TextureAtlas { pub texture_handles: Option, usize>>, } -#[derive(Debug, RenderResources, RenderResource)] +#[derive(Debug, RenderResources, RenderResource, Clone)] #[render_resources(from_self)] pub struct TextureAtlasSprite { pub color: Color,