sanity check to ensure .swap() isn't being called for no reason
This commit is contained in:
parent
ae9f6b6ac6
commit
0d230c7721
1 changed files with 10 additions and 1 deletions
|
|
@ -81,7 +81,7 @@ impl SpriteInfo {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Component, ConvertSaveload, Clone)]
|
#[derive(Debug, Component, ConvertSaveload, Clone)]
|
||||||
pub struct Renderable {
|
pub struct Renderable {
|
||||||
pub glyph: FontCharType,
|
pub glyph: FontCharType,
|
||||||
pub sprite: Option<SpriteInfo>,
|
pub sprite: Option<SpriteInfo>,
|
||||||
|
|
@ -99,11 +99,20 @@ pub struct Renderable {
|
||||||
|
|
||||||
impl Renderable {
|
impl Renderable {
|
||||||
pub fn swap(&mut self) {
|
pub fn swap(&mut self) {
|
||||||
|
let mut did_something = false;
|
||||||
if let Some(alt_render_order) = &mut self.alt_render_order {
|
if let Some(alt_render_order) = &mut self.alt_render_order {
|
||||||
std::mem::swap(&mut self.render_order, alt_render_order);
|
std::mem::swap(&mut self.render_order, alt_render_order);
|
||||||
|
did_something = true;
|
||||||
}
|
}
|
||||||
if let Some(sprite) = &mut self.sprite {
|
if let Some(sprite) = &mut self.sprite {
|
||||||
*sprite = sprite.swap();
|
*sprite = sprite.swap();
|
||||||
|
did_something = true;
|
||||||
|
}
|
||||||
|
if !did_something {
|
||||||
|
unreachable!(
|
||||||
|
".swap() was called on a Renderable component, but nothing happened. {:?}",
|
||||||
|
self
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue