diff --git a/include/NazaraEditor/Core/Application/ActionStack.hpp b/include/NazaraEditor/Core/Application/ActionStack.hpp index 79e8c0f..2dbb474 100644 --- a/include/NazaraEditor/Core/Application/ActionStack.hpp +++ b/include/NazaraEditor/Core/Application/ActionStack.hpp @@ -61,10 +61,10 @@ namespace Nz ActionStack(ActionStack&&) = delete; ActionStack& operator=(ActionStack&&) = delete; - template - void RegisterAction(const EditorAction::Properties& properties) + template + void RegisterAction(const EditorAction::Properties& properties, TArgs&&... args) { - m_availableActions.push_back(std::make_unique(properties)); + m_availableActions.push_back(std::make_unique(properties, std::forward(args)...)); } int64_t m_currentIndex; diff --git a/include/NazaraEditor/Core/Application/BaseApplication.hpp b/include/NazaraEditor/Core/Application/BaseApplication.hpp index aa2cb6e..1ce468f 100644 --- a/include/NazaraEditor/Core/Application/BaseApplication.hpp +++ b/include/NazaraEditor/Core/Application/BaseApplication.hpp @@ -67,11 +67,11 @@ namespace Nz m_windows.push_back(std::make_unique(this)); } - template - void RegisterAction(EditorAction::Properties properties) + template + void RegisterAction(EditorAction::Properties properties, TArgs&&... args) { properties.className = TAction::GetClassName(); - m_actionStack.RegisterAction(properties); + m_actionStack.RegisterAction(properties, std::forward(args)...); OnActionRegistered(properties); }