21T* TaskHandler::setMainTask(std::unique_ptr<T>&& newTask)
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());
31T* TaskHandler::setMainTask()
33 return this->setMainTask(std::make_unique<T>());
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)...);
44T* TaskHandler::addSubTask(std::unique_ptr<T>&& newTask)
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());
53T* TaskHandler::addSubTask()
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)...);
fge::CallbackHandler< TaskHandler & > _onMainTaskChanged
Called when the main task is changed.
Definition C_task.hpp:284