Immutable, parameterized and versioned compiled sequence. 更多...
#include <SequenceAsset.h>
Public 成员函数 | |
| const SequenceNode * | findNode (const std::string &nodeId) const noexcept |
| Find one node by its stable identifier. | |
| eve::Result< void > | validate () const |
| Validate stable identifiers, the entry point and every graph reference. | |
Public 属性 | |
| std::string | id |
| int | version = 1 |
| bool | repeatable = false |
| std::string | entry |
| std::vector< SequenceParameter > | parameters |
| std::vector< SequenceNode > | nodes |
| int | sourceLine = 0 |
| int | sourceColumn = 0 |
详细描述
Immutable, parameterized and versioned compiled sequence.
在文件 SequenceAsset.h 第 77 行定义.
成员函数说明
◆ findNode()
|
noexcept |
Find one node by its stable identifier.
- 返回
- Borrowed pointer into
nodes; nullptr when the id is absent. @ownership Borrowed; this asset owns the node. @nullable Yes. @lifetime Valid until this asset is destroyed ornodesis structurally mutated. @thread Affine to this asset.
在文件 SequenceAsset.cpp 第 29 行定义.
被这些函数引用 eve::dnut::SequenceRuntime::currentNode(), eve::dnut::SequenceRuntime::restoreState() , 以及 validate().
◆ validate()
| eve::Result< void > eve::dnut::SequenceAsset::validate | ( | ) | const |
Validate stable identifiers, the entry point and every graph reference.
- 返回
- Success, or a structured diagnostic naming the first violated rule.
- 备注
- This checks only language-level invariants. Step payload schemas and domain rules are validated by the owning
StepKindRegistry. @thread Affine to this asset; no synchronization and no callbacks.
在文件 SequenceAsset.cpp 第 36 行定义.
引用了 eve::AlreadyExists, eve::Value::asString(), entry, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Value::find(), findNode(), ids, eve::InvariantViolation, eve::Value::isString(), node, nodes, eve::NotFound, parameters, reference, eve::Result< T >::success(), target , 以及 version.
被这些函数引用 eve::dnut::compileDnutConversations(), eve::dnut::SequenceRuntime::start() , 以及 eve::dialogue::validateDialogueSequenceAsset().
类成员变量说明
◆ entry
| std::string eve::dnut::SequenceAsset::entry |
◆ id
| std::string eve::dnut::SequenceAsset::id |
在文件 SequenceAsset.h 第 78 行定义.
被这些函数引用 eve::dnut::compileDnutConversations(), eve::dialogue::ConversationDocument::ConversationDocument(), eve::dialogue::DialogueFlow::getConversationId(), eve::dialogue::ConversationDocument::renameNode(), eve::dialogue::ConversationDocument::setId(), eve::dnut::SequenceRuntime::start() , 以及 eve::dialogue::ConversationDocument::validate().
◆ nodes
| std::vector<SequenceNode> eve::dnut::SequenceAsset::nodes |
在文件 SequenceAsset.h 第 83 行定义.
被这些函数引用 eve::dialogue::ConversationDocument::addNode(), eve::dnut::compileDnutConversations(), eve::dialogue::ConversationDocument::ConversationDocument(), eve::dialogue::ConversationDocument::getNodeCount(), eve::dialogue::ConversationDocument::getNodeId(), eve::dialogue::ConversationDocument::removeNode(), validate() , 以及 eve::dialogue::validateDialogueSequenceAsset().
◆ parameters
| std::vector<SequenceParameter> eve::dnut::SequenceAsset::parameters |
在文件 SequenceAsset.h 第 82 行定义.
被这些函数引用 eve::dialogue::ConversationDocument::addParameter(), eve::dialogue::ConversationDocument::getParameter(), eve::dialogue::ConversationDocument::getParameterCount(), eve::dialogue::ConversationDocument::removeParameter(), eve::dnut::SequenceRuntime::start() , 以及 validate().
◆ repeatable
| bool eve::dnut::SequenceAsset::repeatable = false |
在文件 SequenceAsset.h 第 80 行定义.
◆ sourceColumn
| int eve::dnut::SequenceAsset::sourceColumn = 0 |
在文件 SequenceAsset.h 第 85 行定义.
◆ sourceLine
| int eve::dnut::SequenceAsset::sourceLine = 0 |
在文件 SequenceAsset.h 第 84 行定义.
◆ version
| int eve::dnut::SequenceAsset::version = 1 |
在文件 SequenceAsset.h 第 79 行定义.
被这些函数引用 eve::dnut::SequenceRuntime::restoreState(), eve::dialogue::ConversationDocument::setVersion() , 以及 validate().
该结构体的文档由以下文件生成:
- src/modules/dnut_interpreter/SequenceAsset.h
- src/modules/dnut_interpreter/SequenceAsset.cpp