From d44170e8f439ea8c76452f77ea79cfaad070b469 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 24 Mar 2024 21:48:37 -0400 Subject: [PATCH] add system, attempt to map to old path --- studio/src/material/mod.rs | 26 +++++++++++++++++++++++++- studio/src/ui/inspector.rs | 20 -------------------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/studio/src/material/mod.rs b/studio/src/material/mod.rs index 0678cca..148ec95 100644 --- a/studio/src/material/mod.rs +++ b/studio/src/material/mod.rs @@ -1,4 +1,7 @@ -use bevy::app::{App, Plugin}; +use bevy::app::{App, Plugin, PostUpdate}; +use bevy::asset::{Assets, Handle}; +use bevy::pbr::StandardMaterial; +use bevy::prelude::{Commands, Entity, Query, ResMut}; use space_editor::prelude::EditorRegistryExt; use crate::material::short_material::ShortMaterial; @@ -10,5 +13,26 @@ impl Plugin for MaterialPlugin { fn build(&self, app: &mut App) { app.register_type::() .editor_registry::(); + + app.add_systems(PostUpdate, apply_short_materials); + } +} + +fn apply_short_materials( + mut commands: Commands, + q_mats: Query<(Entity, &Handle, &ShortMaterial)>, + mut materials: ResMut>, +) { + for (entity, handle, short) in q_mats.iter() { + let Some(material) = materials.get_mut(handle) else { + continue; + }; + + material.base_color = short.base_color; + material.perceptual_roughness = short.perceptual_roughness; + material.metallic = short.metallic; + material.reflectance = short.reflectance; + + commands.entity(entity).remove::(); } } diff --git a/studio/src/ui/inspector.rs b/studio/src/ui/inspector.rs index 6ae0a9a..5638be5 100644 --- a/studio/src/ui/inspector.rs +++ b/studio/src/ui/inspector.rs @@ -95,7 +95,6 @@ impl Plugin for InspectorPlugin { .chain() .before(space_editor::space_prefab::sub_scene::prepare_auto_scene), ); - app.add_systems(PostUpdate, apply_short_materials); app.world.resource_mut::().getters.insert( StandardMaterial::get_type_registration() @@ -143,25 +142,6 @@ fn create_short_materials( } } -fn apply_short_materials( - mut commands: Commands, - q_mats: Query<(Entity, &Handle, &ShortMaterial)>, - mut materials: ResMut>, -) { - for (entity, handle, short) in q_mats.iter() { - let Some(material) = materials.get_mut(handle) else { - continue; - }; - - material.base_color = short.base_color; - material.perceptual_roughness = short.perceptual_roughness; - material.metallic = short.metallic; - material.reflectance = short.reflectance; - - commands.entity(entity).remove::(); - } -} - #[derive(Resource, Default)] struct InspectGetters { getters: HashMap<