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