From cb4fbe08943bf47bcc98e70fe7e205ea79030dfc Mon Sep 17 00:00:00 2001 From: Lynix Date: Wed, 10 Aug 2016 14:09:48 +0200 Subject: [PATCH] Sdk/RenderSystem: Make ChangeRenderTechnique return a reference to the render technique Former-commit-id: bffd29fae1ec56fbf9769e9d98c6482dcf953233 [formerly 8efbb3be17fa259e5b7a0529c21d89ca66cb92fe] [formerly a6908831f5568b0d9c5c94c2085722513e240acb [formerly 24501e9445e2f64303751ca34af2df5170af4248]] Former-commit-id: c8da7e4bd2680ddc942b6f06c7b528a1007fe1df [formerly a66ad334b5e9032f35d58c25ba3b5affc97d72da] Former-commit-id: f67f457a615944e276e19e5551107333c4c4dd8f --- SDK/include/NDK/Systems/RenderSystem.hpp | 4 ++-- SDK/include/NDK/Systems/RenderSystem.inl | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/SDK/include/NDK/Systems/RenderSystem.hpp b/SDK/include/NDK/Systems/RenderSystem.hpp index 82e558773..488d1a7d4 100644 --- a/SDK/include/NDK/Systems/RenderSystem.hpp +++ b/SDK/include/NDK/Systems/RenderSystem.hpp @@ -28,8 +28,8 @@ namespace Ndk inline RenderSystem(const RenderSystem& renderSystem); ~RenderSystem() = default; - template void ChangeRenderTechnique(); - inline void ChangeRenderTechnique(std::unique_ptr&& renderTechnique); + template T& ChangeRenderTechnique(); + inline Nz::AbstractRenderTechnique& ChangeRenderTechnique(std::unique_ptr&& renderTechnique); inline const Nz::BackgroundRef& GetDefaultBackground() const; inline const Nz::Matrix4f& GetCoordinateSystemMatrix() const; diff --git a/SDK/include/NDK/Systems/RenderSystem.inl b/SDK/include/NDK/Systems/RenderSystem.inl index b85ace59f..ada237615 100644 --- a/SDK/include/NDK/Systems/RenderSystem.inl +++ b/SDK/include/NDK/Systems/RenderSystem.inl @@ -10,14 +10,15 @@ namespace Ndk } template - inline void RenderSystem::ChangeRenderTechnique() + inline T& RenderSystem::ChangeRenderTechnique() { - ChangeRenderTechnique(std::make_unique()); + return *static_cast(ChangeRenderTechnique(std::make_unique())); } - inline void RenderSystem::ChangeRenderTechnique(std::unique_ptr&& renderTechnique) + inline Nz::AbstractRenderTechnique& RenderSystem::ChangeRenderTechnique(std::unique_ptr&& renderTechnique) { m_renderTechnique = std::move(renderTechnique); + return *m_renderTechnique.get(); } inline const Nz::BackgroundRef& RenderSystem::GetDefaultBackground() const