From 7d32f05f6123dc12ab099cf337f9abe137750e43 Mon Sep 17 00:00:00 2001 From: Sakarias Johansson Date: Tue, 14 Mar 2023 15:39:45 +0100 Subject: =?UTF-8?q?=F0=9F=A7=B9=20Misc=20cleanup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Was pointless to have one event for render and one for cancel. Reduced it to one while fixing a minor bug. - Remove useless dereference and borrow. Not sure how it ended up like that. - Moved around some code. --- racer-tracer/src/scene.rs | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'racer-tracer/src/scene.rs') diff --git a/racer-tracer/src/scene.rs b/racer-tracer/src/scene.rs index 12e2296..e730db0 100644 --- a/racer-tracer/src/scene.rs +++ b/racer-tracer/src/scene.rs @@ -12,8 +12,13 @@ pub struct Scene { } impl Scene { - #[allow(dead_code)] - pub fn try_new(loader: Box) -> Result { + pub fn try_new(config_loader: &CSLoader) -> Result { + let loader: Box = match config_loader { + CSLoader::Yml { path } => Box::new(YmlLoader::new(path.clone())), + CSLoader::Random => Box::new(Random::new()), + CSLoader::None => Box::new(NoneLoader::new()), + }; + loader.load().map(|objects| Self { objects }) } @@ -47,13 +52,3 @@ impl Hittable for Scene { pub trait SceneLoader: Send + Sync { fn load(&self) -> Result>, TracerError>; } - -impl From<&CSLoader> for Box { - fn from(loader: &CSLoader) -> Self { - match loader { - CSLoader::Yml { path } => Box::new(YmlLoader::new(path.clone())), - CSLoader::Random => Box::new(Random::new()), - CSLoader::None => Box::new(NoneLoader::new()), - } - } -} -- cgit v1.2.3