From 831e814ce9bdb84e86c06c4a52008f6bdaaa00d6 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 16 Nov 2018 00:24:51 +0800 Subject: =?UTF-8?q?*=E5=90=88=E5=B9=B6master=E5=88=B0minimal=E5=88=86?= =?UTF-8?q?=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/ai/je_behavior_tree.h | 45 +++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) (limited to 'src/libjin/ai/je_behavior_tree.h') diff --git a/src/libjin/ai/je_behavior_tree.h b/src/libjin/ai/je_behavior_tree.h index 6e276b6..173df80 100644 --- a/src/libjin/ai/je_behavior_tree.h +++ b/src/libjin/ai/je_behavior_tree.h @@ -1,24 +1,59 @@ -#ifndef __JE_BEHAVIOR_TREE_H -#define __JE_BEHAVIOR_TREE_H +#ifndef __JE_BEHAVIOR_TREE_H__ +#define __JE_BEHAVIOR_TREE_H__ #include "../core/je_configuration.h" #if defined(jin_ai) +#include + namespace JinEngine { namespace AI { - + /// /// /// class BehaviorTree { + public: + BehaviorTree(void* userData) : mUserData(userData){} + + class Node + { + public: + enum Type + { + + }; + + enum Status + { + Running, + Success, + Failure + }; + + Status status; + }; + + typedef std::function UpdateCallback; + + Node makeNode(Node::Type type, UpdateCallback callback); + + private: + + /// + /// + /// + void* const mUserData; }; - } -} + typedef BehaviorTree::Node::Status BahaviorNodeStatus; + + } // namespace AI +} // namespace JinEngine #endif // jin_ai -- cgit v1.1-26-g67d0