tirbofish/dropbear · diff
wip: mess
Signature present but could not be verified.
Unverified
@@ -7,6 +7,7 @@ use crate::{ texture::Texture, }; use crate::graphics::SharedGraphicsContext; +use crate::utils::ResourceReference; use crate::model::Model; pub static ASSET_REGISTRY: LazyLock<Arc<RwLock<AssetRegistry>>> = LazyLock::new(|| Arc::new(RwLock::new(AssetRegistry::new()))); @@ -261,6 +262,20 @@ impl AssetRegistry { self.model_labels.get(label).cloned() } + pub fn list_models(&self) -> Vec<(Handle<Model>, String, ResourceReference)> { + self.models + .values() + .map(|model| (Handle::new(model.hash), model.label.clone(), model.path.clone())) + .collect() + } + + pub fn get_model_handle_by_reference(&self, reference: &ResourceReference) -> Option<Handle<Model>> { + self.models + .values() + .find(|model| &model.path == reference) + .map(|model| Handle::new(model.hash)) + } + pub fn model_handle_by_hash(&self, hash: u64) -> Option<Handle<Model>> { self.models.contains_key(&hash).then(|| Handle::new(hash)) } @@ -227,46 +227,22 @@ impl Transform { ui.label("Scale:"); }); - let mut uniform_scale = self.scale.x == self.scale.y - && self.scale.y == self.scale.z; - ui.horizontal(|ui| { - if ui.checkbox(&mut uniform_scale, "Uniform").changed() { - if uniform_scale { - let avg = (self.scale.x + self.scale.y + self.scale.z) / 3.0; - self.scale = DVec3::splat(avg); - }
Large diffs are not rendered by default. Showing the first 50 of 2465 lines. Show full diff