24 this->g_tasks.push_back(std::move(newTask));
25 this->g_tasks.back()->setParentObject(this->g_parentObject);
26 this->computeChecksum();
28 return static_cast<T*
>(this->g_tasks.back().get());
35template<
class T,
class... TArgs>
36T* TaskHandler::setMainTaskAndInit(TArgs&&... args)
38 auto* task = this->
setMainTask(std::make_unique<T>());
39 task->init(std::forward<TArgs>(args)...);
46 this->g_lastTask = newTask->getTypeIndex();
47 this->g_tasks.push_back(std::move(newTask));
48 this->g_tasks.back()->setParentObject(this->g_parentObject);
49 this->computeChecksum();
50 return static_cast<T*
>(this->g_tasks.back().get());
55 return this->
addSubTask(std::make_unique<T>());
57template<
class T,
class... TArgs>
58T* TaskHandler::addSubTaskAndInit(TArgs&&... args)
60 auto* task = this->
addSubTask(std::make_unique<T>());
61 task->init(std::forward<TArgs>(args)...);
T * addSubTask(std::unique_ptr< T > &&newTask)
Add a sub-task.
Definition C_task.inl:44
fge::CallbackHandler< TaskHandler & > _onMainTaskChanged
Called when the main task is changed.
Definition C_task.hpp:284
T * setMainTask(std::unique_ptr< T > &&newTask)
Set the main task.
Definition C_task.inl:21