From 767a0feda010efcf7cd3517e448915d50e199bd2 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: f97e9d4a3048c0dfd934b263fd2e3facdec1f839 [formerly 856e89966d172f0cc55a6b7d6dbe0f33f0dad493] [formerly 2c537c041b5c32831d034e5de8a9b738597c5ee8 [formerly 6c47f159c502de0b37d8c0847dd6b6ece1df321b]] Former-commit-id: 820d117c97286893c9ec7b4b611546e09a7bfd24 [formerly 44daa92d72f776fa879a957e814496882190d302] Former-commit-id: ca11c6fe9726d380a77650dd4dff26049ac07386 --- 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