From 168af2d80efca939c8cab30b33d820a793292361 Mon Sep 17 00:00:00 2001 From: HampusM Date: Sat, 10 Oct 2026 15:20:03 +0200 Subject: refactor(engine): simplify asset::ImportWorkMessage::Store --- engine/src/asset.rs | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/engine/src/asset.rs b/engine/src/asset.rs index 66efe35..34f7a85 100644 --- a/engine/src/asset.rs +++ b/engine/src/asset.rs @@ -670,15 +670,10 @@ impl Submitter<'_> }; let _ = self.import_work_msg_sender.send(ImportWorkMessage::Store { - do_store: |assets, label, boxed_asset| { - let Ok(asset) = boxed_asset.downcast::() else { - unreachable!(); - }; - - assets.store_with_label::(label.as_label(), *asset); - }, + do_store: Box::new(move |assets, label| { + assets.store_with_label::(label.as_label(), asset); + }), label, - asset: Box::new(asset), }); } @@ -692,15 +687,10 @@ impl Submitter<'_> }; let _ = self.import_work_msg_sender.send(ImportWorkMessage::Store { - do_store: |assets, label, boxed_asset| { - let Ok(asset) = boxed_asset.downcast::() else { - unreachable!(); - }; - - assets.store_with_label::(label.as_label(), *asset); - }, + do_store: Box::new(move |assets, label| { + assets.store_with_label::(label.as_label(), asset); + }), label, - asset: Box::new(asset), }); } } @@ -928,21 +918,19 @@ fn add_received_assets(mut assets: Single, mut events: Single) while let Ok(import_work_msg) = assets.import_work_msg_receiver.try_recv() { match import_work_msg { - ImportWorkMessage::Store { do_store, label, asset } => { - do_store(assets, label, asset); + ImportWorkMessage::Store { do_store, label } => { + do_store(assets, label); } } } } -#[derive(Debug)] enum ImportWorkMessage { Store { - do_store: fn(&mut Assets, LabelOwned, Box), + do_store: Box, label: LabelOwned, - asset: Box, }, } -- cgit v1.2.3-18-g5258