add variadic template ctor for TAction

This commit is contained in:
SweetId
2023-10-21 10:23:23 -04:00
parent da21340331
commit 174cd83679
2 changed files with 6 additions and 6 deletions

View File

@@ -61,10 +61,10 @@ namespace Nz
ActionStack(ActionStack&&) = delete; ActionStack(ActionStack&&) = delete;
ActionStack& operator=(ActionStack&&) = delete; ActionStack& operator=(ActionStack&&) = delete;
template <typename TAction> template <typename TAction, typename... TArgs>
void RegisterAction(const EditorAction::Properties& properties) void RegisterAction(const EditorAction::Properties& properties, TArgs&&... args)
{ {
m_availableActions.push_back(std::make_unique<TAction>(properties)); m_availableActions.push_back(std::make_unique<TAction>(properties, std::forward<TArgs...>(args)...));
} }
int64_t m_currentIndex; int64_t m_currentIndex;

View File

@@ -67,11 +67,11 @@ namespace Nz
m_windows.push_back(std::make_unique<T>(this)); m_windows.push_back(std::make_unique<T>(this));
} }
template <typename TAction> template <typename TAction, typename... TArgs>
void RegisterAction(EditorAction::Properties properties) void RegisterAction(EditorAction::Properties properties, TArgs&&... args)
{ {
properties.className = TAction::GetClassName(); properties.className = TAction::GetClassName();
m_actionStack.RegisterAction<TAction>(properties); m_actionStack.RegisterAction<TAction>(properties, std::forward<TArgs...>(args)...);
OnActionRegistered(properties); OnActionRegistered(properties);
} }