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