diff --git a/ComponentBasic/BehaviorPerform.cpp b/ComponentBasic/BehaviorPerform.cpp index 43c19e4..60fc86e 100644 --- a/ComponentBasic/BehaviorPerform.cpp +++ b/ComponentBasic/BehaviorPerform.cpp @@ -127,18 +127,18 @@ void LogicalNode::setParent(std::weak_ptr pnode) this->_parent_bind = pnode; } -NodeKind LogicalNode::kind() const +NodeKind LogicalNode::nodeKind() const { return _node_type; } -std::shared_ptr LogicalNode::bindParentMap() const +std::shared_ptr LogicalNode::bindMap() const { - auto node_temp = this->getBackwards().lock(); + auto node_temp = this->parent().lock(); if (!node_temp) return nullptr; - while (node_temp->kind() != NodeKind::MAPNODE) { - node_temp = node_temp->getBackwards().lock(); + while (node_temp->nodeKind() != NodeKind::MAPNODE) { + node_temp = node_temp->parent().lock(); } return node_temp; } @@ -158,7 +158,7 @@ QString LogicalNode::runtimeName() const return QString("%1(%2)").arg(this->typeName()).arg(getID()); } -std::weak_ptr LogicalNode::getBackwards() const +std::weak_ptr LogicalNode::parent() const { return this->_parent_bind; } diff --git a/ComponentBasic/BehaviorPerform.h b/ComponentBasic/BehaviorPerform.h index ca72fc6..73f0c22 100644 --- a/ComponentBasic/BehaviorPerform.h +++ b/ComponentBasic/BehaviorPerform.h @@ -10,6 +10,20 @@ class CompareKernel; class ConvertKernel; class LogicalNode; +/// +/// 通用数据类型 +/// +struct COMPONENTBASIC_EXPORT GeneralData : public TopicData { + QJsonObject _element_bind; + + QString topicString() const override; + std::shared_ptr newDefault() const override; + + void recoveryFrom(const QJsonObject& obj) override; + void saveTo(QJsonObject& obj) const override; +}; +// ================================================================================== + /// /// 行为树实例化节点 /// @@ -114,7 +128,6 @@ public: void saveTo(QJsonObject& obj) const override{} }; - /// /// 比较关系实例 /// @@ -129,6 +142,7 @@ public: QString name() const; bool compare(std::shared_ptr vleft, std::shared_ptr vright); }; + /// /// 数据转换实例 /// @@ -187,6 +201,9 @@ private: std::pair _output_appoint; }; + + + /// /// 执行结果 /// @@ -195,7 +212,6 @@ enum class LogicalResult { SUCCESS, // 成功 FAILURE // 失败 }; - /// /// 逻辑节点类型 /// @@ -207,20 +223,6 @@ enum class NodeKind { COMPARENODE, // 比较节点 ACTIONNODE, // 动作节点 }; - -/// -/// 通用数据类型 -/// -struct COMPONENTBASIC_EXPORT GeneralData : public TopicData { - QJsonObject _element_bind; - - QString topicString() const override; - std::shared_ptr newDefault() const override; - - void recoveryFrom(const QJsonObject& obj) override; - void saveTo(QJsonObject& obj) const override; -}; - /// /// 所有逻辑节点的基类 /// @@ -235,22 +237,27 @@ public: LogicalNode(NodeKind t = NodeKind::ACTIONNODE); virtual ~LogicalNode() = default; + /// + /// 获取节点类型 + /// + /// + NodeKind nodeKind() const; + /// /// 重置父节点 /// /// void setParent(std::weak_ptr pnode); - /// - /// 获取节点类型 + /// 回退节点 /// /// - NodeKind kind() const; + std::weak_ptr parent() const; /// /// 获取包含树图节点 /// /// - std::shared_ptr bindParentMap() const; + std::shared_ptr bindMap() const; /// /// 设置节点id @@ -267,11 +274,6 @@ public: /// /// QString runtimeName() const; - /// - /// 回退节点 - /// - /// - std::weak_ptr getBackwards() const; /// /// 重置内部状态