From efc111c7f2cdb90d1e7584848e1aa0f6ccd74022 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Sun, 6 Nov 2022 17:14:10 +0000 Subject: [PATCH] Add CameraRenderGraph::set (#6470) # Objective Some render plugins, like [bevy-hikari](https://github.com/cryscan/bevy-hikari) require to set `CameraRenderGraph`. In order to switch between render graphs I need to insert a new `CameraRenderGraph` component. It's not very ergonomic. ## Solution Add `CameraRenderGraph::set` like in [Name](https://docs.rs/bevy/latest/bevy/core/struct.Name.html). --- ## Changelog ### Added - `CameraRenderGraph::set`. --- crates/bevy_render/src/camera/camera.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crates/bevy_render/src/camera/camera.rs b/crates/bevy_render/src/camera/camera.rs index 03cf6eed41fcd..82bf0c894661b 100644 --- a/crates/bevy_render/src/camera/camera.rs +++ b/crates/bevy_render/src/camera/camera.rs @@ -289,10 +289,17 @@ impl Camera { pub struct CameraRenderGraph(Cow<'static, str>); impl CameraRenderGraph { + /// Creates a new [`CameraRenderGraph`] from any string-like type. #[inline] pub fn new>>(name: T) -> Self { Self(name.into()) } + + #[inline] + /// Sets the graph name. + pub fn set>>(&mut self, name: T) { + self.0 = name.into(); + } } /// The "target" that a [`Camera`] will render to. For example, this could be a [`Window`](bevy_window::Window)