diff --git a/src/materials/fighter_material.rs b/src/materials/fighter_material.rs index e6ecb01..b9cb9c7 100644 --- a/src/materials/fighter_material.rs +++ b/src/materials/fighter_material.rs @@ -1,10 +1,17 @@ -use bevy::{gltf::GltfMaterialName, pbr::{ExtendedMaterial, MaterialExtension}, prelude::*, render::render_resource::AsBindGroup, shader::ShaderRef, world_serialization::WorldInstanceReady}; +use bevy::{ + gltf::GltfMaterialName, + pbr::{ExtendedMaterial, MaterialExtension}, + prelude::*, + render::render_resource::AsBindGroup, + shader::ShaderRef, + world_serialization::WorldInstanceReady, +}; pub type FighterMaterial = ExtendedMaterial; #[derive(Component)] pub struct FighterMesh { - pub fighter: Entity + pub fighter: Entity, } #[derive(Asset, AsBindGroup, Reflect, Debug, Clone, Default)] @@ -64,12 +71,22 @@ pub fn bind_fighter_material( continue; }; - commands.entity(entity).insert((MeshMaterial3d(asset_materials.add(ExtendedMaterial { - base: StandardMaterial { - // can be used in forward or deferred mode - ..original_material.clone() - }, - extension: FighterMaterialExtension::new(bevy::color::palettes::css::BLUE.into()) - })), FighterMesh { fighter: scene_ready.entity })); + commands + .entity(entity) + .remove::>() + .insert(( + MeshMaterial3d(asset_materials.add(ExtendedMaterial { + base: StandardMaterial { + // can be used in forward or deferred mode + ..original_material.clone() + }, + extension: FighterMaterialExtension::new( + bevy::color::palettes::css::BLUE.into(), + ), + })), + FighterMesh { + fighter: scene_ready.entity, + }, + )); } -} \ No newline at end of file +}