From 0d230c7721087edbc303c434969a5b1858671d7a Mon Sep 17 00:00:00 2001 From: Llywelwyn Date: Tue, 26 Sep 2023 22:11:48 +0100 Subject: [PATCH] sanity check to ensure .swap() isn't being called for no reason --- src/components.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/components.rs b/src/components.rs index b728388..15bbd13 100644 --- a/src/components.rs +++ b/src/components.rs @@ -81,7 +81,7 @@ impl SpriteInfo { } } -#[derive(Component, ConvertSaveload, Clone)] +#[derive(Debug, Component, ConvertSaveload, Clone)] pub struct Renderable { pub glyph: FontCharType, pub sprite: Option, @@ -99,11 +99,20 @@ pub struct Renderable { impl Renderable { pub fn swap(&mut self) { + let mut did_something = false; if let Some(alt_render_order) = &mut self.alt_render_order { std::mem::swap(&mut self.render_order, alt_render_order); + did_something = true; } if let Some(sprite) = &mut self.sprite { *sprite = sprite.swap(); + did_something = true; + } + if !did_something { + unreachable!( + ".swap() was called on a Renderable component, but nothing happened. {:?}", + self + ); } } }