本文整理汇总了C++中ITask::init方法的典型用法代码示例。如果您正苦于以下问题:C++ ITask::init方法的具体用法?C++ ITask::init怎么用?C++ ITask::init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITask
的用法示例。
在下文中一共展示了ITask::init方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: add
void CTaskManager::add(ITask &task, sint32 order, bool startNow)
{
// Check that the task is not already in the array
list<ITask*>::iterator result = find(Tasks.begin(), Tasks.end(), &task);
nlassert(result == Tasks.end());
result = find(OrderSortedTasks.begin(), OrderSortedTasks.end(), &task);
nlassert(result == OrderSortedTasks.end());
task.Order = order;
std::string n = task.name() + "Update";
strcpy(task.NameUpdate, n.c_str());
n = task.name() + "Render";
strcpy(task.NameRender, n.c_str());
task.HTimerUpdate.setName(task.NameUpdate);
task.HTimerRender.setName(task.NameRender);
task.NeedRemove = false;
task.Execute = startNow;
Tasks.push_back(&task);
if(order == -1)
{
OrderSortedTasks.push_back(&task);
}
else
{
list<ITask*>::iterator it;
for(it = OrderSortedTasks.begin(); it != OrderSortedTasks.end(); it++)
{
if((*it)->Order > order)
{
break;
}
}
OrderSortedTasks.insert(it, &task);
}
// nlinfo("Init during exec %s", task.name().c_str());
task.init();
}