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& operator=(ActionStack&&) = delete;
template <typename TAction>
void RegisterAction(const EditorAction::Properties& properties)
template <typename TAction, typename... TArgs>
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;

View File

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