本文整理汇总了C++中Task::IsHTN方法的典型用法代码示例。如果您正苦于以下问题:C++ Task::IsHTN方法的具体用法?C++ Task::IsHTN怎么用?C++ Task::IsHTN使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Task
的用法示例。
在下文中一共展示了Task::IsHTN方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Init
void TaskTask::Init(const BehaviorNode* node) {
BEHAVIAC_ASSERT(Task::DynamicCast(node) != 0, "node is not an Method");
Task* pTaskNode = (Task*)(node);
if (pTaskNode->IsHTN()) {
BranchTask::Init(node);
} else {
super::Init(node);
}
}
示例2: update
EBTStatus TaskTask::update(Agent* pAgent, EBTStatus childStatus) {
EBTStatus status = childStatus;
if (childStatus == BT_RUNNING) {
BEHAVIAC_ASSERT(Task::DynamicCast(this->GetNode()) != 0, "node is not an Method");
Task* pTaskNode = (Task*)(this->GetNode());
if (pTaskNode->IsHTN()) {
#if BEHAVIAC_USE_HTN
status = _planner->Update();
#endif //BEHAVIAC_USE_HTN
} else {
BEHAVIAC_ASSERT(this->m_children.size() == 1);
BehaviorTask* c = this->m_children[0];
status = c->exec(pAgent);
}
} else {
BEHAVIAC_ASSERT(true);
}
return status;
}