change texture atlas sprite indexing to usize (#2887)

Per this comment https://github.com/bevyengine/bevy/pull/2864#discussion_r717947232,
I have done a pass at changing all the public facing indexes for `TextureAtlas` to usize.
This commit is contained in:
Mike 2021-11-01 21:28:50 +00:00
parent c5af1335eb
commit 95032a3f97
4 changed files with 9 additions and 8 deletions

View file

@ -81,7 +81,7 @@ fn setup(
scale: Vec3::splat(4.0),
..Default::default()
},
sprite: TextureAtlasSprite::new(vendor_index as u32),
sprite: TextureAtlasSprite::new(vendor_index),
texture_atlas: atlas_handle,
..Default::default()
});

View file

@ -22,7 +22,7 @@ impl DynamicTextureAtlasBuilder {
texture_atlas: &mut TextureAtlas,
textures: &mut Assets<Image>,
texture: &Image,
) -> Option<u32> {
) -> Option<usize> {
let allocation = self.atlas_allocator.allocate(size2(
texture.texture_descriptor.size.width as i32 + self.padding,
texture.texture_descriptor.size.height as i32 + self.padding,
@ -33,8 +33,7 @@ impl DynamicTextureAtlasBuilder {
let mut rect: Rect = allocation.rectangle.into();
rect.max.x -= self.padding as f32;
rect.max.y -= self.padding as f32;
texture_atlas.add_texture(rect);
Some((texture_atlas.len() - 1) as u32)
Some(texture_atlas.add_texture(rect))
} else {
None
}

View file

@ -166,7 +166,7 @@ pub fn extract_atlases(
let mut sprites = Vec::new();
for (entity, atlas_sprite, transform, texture_atlas_handle) in atlas_query.iter() {
if let Some(texture_atlas) = texture_atlases.get(texture_atlas_handle) {
let rect = texture_atlas.textures[atlas_sprite.index as usize];
let rect = texture_atlas.textures[atlas_sprite.index];
sprites.push((
entity,
(ExtractedSprite {

View file

@ -24,7 +24,7 @@ pub struct TextureAtlas {
#[uuid = "7233c597-ccfa-411f-bd59-9af349432ada"]
pub struct TextureAtlasSprite {
pub color: Color,
pub index: u32,
pub index: usize,
pub flip_x: bool,
pub flip_y: bool,
}
@ -41,7 +41,7 @@ impl Default for TextureAtlasSprite {
}
impl TextureAtlasSprite {
pub fn new(index: u32) -> TextureAtlasSprite {
pub fn new(index: usize) -> TextureAtlasSprite {
Self {
index,
..Default::default()
@ -119,13 +119,15 @@ impl TextureAtlas {
}
/// Add a sprite to the list of textures in the `TextureAtlas`
/// returns an index to the texture which can be used with `TextureAtlasSprite`
///
/// # Arguments
///
/// * `rect` - The section of the atlas that contains the texture to be added,
/// from the top-left corner of the texture to the bottom-right corner
pub fn add_texture(&mut self, rect: Rect) {
pub fn add_texture(&mut self, rect: Rect) -> usize {
self.textures.push(rect);
self.textures.len() - 1
}
/// How many textures are in the `TextureAtlas`