类 | |
| struct | CommandRequest |
| Immutable request emitted by a command node. 更多... | |
| struct | CommandResponse |
| Structured response to a request emitted by a command node. 更多... | |
| struct | ConversationDiagnostic |
| Stable diagnostic emitted by dnut compilation, lint, or migration. 更多... | |
| class | ConversationDocument |
| Mutable, UI-neutral conversation document for custom editor composition. 更多... | |
| class | ConversationLocalizationCatalog |
| CSV-backed translation and voice recording catalog with default-locale resolution. 更多... | |
| struct | ConversationLocalizationEntry |
| Runtime translation and voice-production row keyed by stable key and locale. 更多... | |
| class | ConversationSaveMigrations |
| Explicit save migrations from an old asset version to its current version. 更多... | |
| class | ConversationTextRenderer |
| Parameter substitution and state-driven character voice modifiers. 更多... | |
| class | Dialogue |
Visual-novel style dialogue stage. Script: dlg <- eve.Dialogue(); 更多... | |
| struct | DialogueAccountBindings |
| Borrowed account bindings used by one DialogueFlow integration. 更多... | |
| class | DialogueControl |
| Exposes the module's conversation runner through the shared gameplay protocol. 更多... | |
| class | DialogueFlow |
| Script-facing registry and runner for compiled .dnut conversations. 更多... | |
| class | DialoguePaymentAdapter |
| Composes Dialogue accounts with StatePatch or Action participants. 更多... | |
| class | DialogueStateContext |
| Dialogue-owned facade for world reads, unified conditions, and mutations. 更多... | |
| class | DialogueStateMutationParticipant |
| Transaction participant that delegates an atomic state mutation. 更多... | |
| class | DialogueUX |
| Presentation state shared by default and custom dialogue UIs. 更多... | |
| class | DialogueVoice |
| Localized voice assets, duration-based advance, and amplitude lip sync. 更多... | |
| struct | DnutDocument |
| UI-neutral syntax tree produced by the single dnut parser. 更多... | |
| struct | DnutSourceSpan |
| Exact source location in a dnut document. 更多... | |
| struct | PaymentSpec |
| Canonical money/reputation cost attached to a dialogue choice or command. 更多... | |
| class | StateEvaluationContext |
| Decision EvaluationContext backed by one dialogue subject. 更多... | |
类型定义 | |
| using | DataValue = eve::Value |
| Canonical data value used by dialogue pools, conditions and scripts. | |
| using | VarValue = eve::Value |
| using | CommandRequestHandler = std::function< CommandResponse(const CommandRequest &)> |
| Handler implemented by the owning operation or gameplay domain. | |
枚举 | |
| enum class | CommandRequestKind : std::uint8_t { Operation , GameplayAction } |
| Destination protocol requested by a dialogue command node. 更多... | |
函数 | |
| eve::Result< DnutDocument > | compileDnutDocument (const std::string &source, const std::string &path, std::vector< ConversationDiagnostic > &diagnostics) |
| Compile and lint the complete pools-plus-conversations dnut document. | |
| eve::Result< void > | lintConversations (const std::vector< eve::dnut::SequenceAsset > &assets, const std::string &path, std::vector< ConversationDiagnostic > &diagnostics) |
| Validate references and report unreachable nodes. | |
| std::string | exportConversationLocalizationCsv (const std::vector< eve::dnut::SequenceAsset > &assets) |
| Export stable line IDs and localization keys as RFC4180 CSV. | |
| eve::Result< std::vector< eve::dnut::SequenceAsset > > | importYarnConversation (const std::string &source, const std::string &path, std::vector< ConversationDiagnostic > &diagnostics) |
| Import Yarn Spinner source through the canonical validated conversation schema. | |
| eve::Result< std::vector< eve::dnut::SequenceAsset > > | importTweeConversation (const std::string &source, const std::string &path, std::vector< ConversationDiagnostic > &diagnostics) |
| Import Twee 3 passage source through the canonical validated conversation schema. | |
| eve::Result< std::string > | conversationStateToJson (const StateValue &state) |
| Serialize a dialogue state tree as JSON. | |
| eve::Result< StateValue > | conversationStateFromJson (const std::string &json) |
| Parse a JSON dialogue state tree. | |
| eve::Result< void > | lintConversationWorkspace (const std::vector< eve::dnut::SequenceAsset > &assets, const std::string &label, std::vector< ConversationDiagnostic > &diagnostics) |
| Lint a complete multi-file registry, including cross-asset call targets. | |
| eve::Result< void > | renameConversationAsset (std::vector< eve::dnut::SequenceAsset > &assets, const std::string &oldId, const std::string &newId) |
| Rename an asset and rewrite every cross-asset call target. | |
| eve::Result< void > | renameConversationNode (std::vector< eve::dnut::SequenceAsset > &assets, const std::string &assetId, const std::string &oldId, const std::string &newId) |
| Rename one stable node and rewrite all references inside its asset. | |
| Module_IMPL (Dialogue, new Dialogue()) | |
| Module_IMPL (DialogueFlow, new DialogueFlow()) | |
| std::string | sequencePayloadString (const eve::dnut::SequenceNode &node, std::string_view key) |
| Read an optional string from a node payload; missing or ill-typed values yield empty. | |
| std::string | sequenceRoutePayloadString (const eve::dnut::SequenceRoute &route, std::string_view key) |
| Read an optional string from a route payload; missing or ill-typed values yield empty. | |
| eve::Result< PaymentSpec > | decodeSequencePayment (const eve::Value &payload) |
| Decode an optional dialogue payment from one canonical payload object. | |
| eve::Result< std::vector< eve::StateMutation > > | decodeSequenceStateMutations (const eve::Value &payload) |
| Decode dialogue state mutations from one canonical payload object. | |
| eve::Value | encodeSequenceStateMutations (std::span< const eve::StateMutation > mutations) |
| Encode dialogue state mutations as the canonical payload array. | |
| eve::Result< void > | registerDialogueSequenceSteps (eve::dnut::StepKindRegistry ®istry) |
Register dialogue's line, choice, and command contracts and validators. | |
| eve::Result< void > | validateDialogueSequenceAsset (const eve::dnut::SequenceAsset &asset, const eve::dnut::StepKindRegistry ®istry) |
| Validate every dialogue-owned payload without taking control-flow ownership. | |
| eve::Result< CommandRequest > | decodeDialogueCommandRequest (const eve::dnut::SequenceCommandRequest &request) |
| Adapt an L1 command request to dialogue's transaction-bearing request. | |
| eve::Value | toCanonicalValue (const eve::StateValue &value) |
| Convert the legacy reload value into the canonical common value. | |
| eve::StateValue | toDialogueStateValue (const eve::Value &value) |
| Convert a canonical value to the legacy reload representation. | |
| Module_IMPL (DialogueUX, new DialogueUX()) | |
| Module_IMPL (DialogueVoice, new DialogueVoice()) | |
| eve::Result< DnutDocument > | parseDnutDocument (const std::string &source, const std::string &path, std::vector< ConversationDiagnostic > &diagnostics) |
| Parse pools and conversations from one versioned dnut token stream. | |
类型定义说明
◆ CommandRequestHandler
| using eve::dialogue::CommandRequestHandler = typedef std::function<CommandResponse(const CommandRequest&)> |
Handler implemented by the owning operation or gameplay domain.
在文件 DialogueState.h 第 63 行定义.
◆ DataValue
| using eve::dialogue::DataValue = typedef eve::Value |
Canonical data value used by dialogue pools, conditions and scripts.
These aliases intentionally do not add another storage tree. The factory names and scalar helpers are retained by eve::Value for source-compatible dialogue scripts and tests, while all new cross-module data uses the common deterministic value protocol.
在文件 Dialogue.h 第 36 行定义.
◆ VarValue
| using eve::dialogue::VarValue = typedef eve::Value |
在文件 Dialogue.h 第 37 行定义.
枚举类型说明
◆ CommandRequestKind
|
strong |
Destination protocol requested by a dialogue command node.
| 枚举值 | |
|---|---|
| Operation | |
| GameplayAction | |
在文件 DialogueState.h 第 25 行定义.
函数说明
◆ compileDnutDocument()
| EVENGINE_API_ORCHESTRATION eve::Result< DnutDocument > eve::dialogue::compileDnutDocument | ( | const std::string & | source, |
| const std::string & | path, | ||
| std::vector< ConversationDiagnostic > & | diagnostics | ||
| ) |
Compile and lint the complete pools-plus-conversations dnut document.
在文件 ConversationCompiler.cpp 第 26 行定义.
引用了 eve::dialogue::DnutDocument::conversations, eve::Result< T >::failure(), lintConversations(), parseDnutDocument(), path, source , 以及 eve::Result< T >::success().
◆ conversationStateFromJson()
| EVENGINE_API_ORCHESTRATION eve::Result< StateValue > eve::dialogue::conversationStateFromJson | ( | const std::string & | json | ) |
Parse a JSON dialogue state tree.
在文件 ConversationPersistence.cpp 第 85 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::ParseError, state , 以及 eve::Result< T >::success().
被这些函数引用 eve::dialogue::DialogueFlow::restoreStateJsonChecked().
◆ conversationStateToJson()
| EVENGINE_API_ORCHESTRATION eve::Result< std::string > eve::dialogue::conversationStateToJson | ( | const StateValue & | state | ) |
Serialize a dialogue state tree as JSON.
在文件 ConversationPersistence.cpp 第 71 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), output, eve::SerializationError, state , 以及 eve::Result< T >::success().
被这些函数引用 eve::dialogue::DialogueFlow::captureStateJsonChecked().
◆ decodeDialogueCommandRequest()
| EVENGINE_API_ORCHESTRATION eve::Result< CommandRequest > eve::dialogue::decodeDialogueCommandRequest | ( | const eve::dnut::SequenceCommandRequest & | request | ) |
Adapt an L1 command request to dialogue's transaction-bearing request.
- 参数
-
request Owning L1 request snapshot; no data is retained.
- 返回
- Dialogue request with payment and mutations decoded from payload.
在文件 DialogueSequence.cpp 第 215 行定义.
引用了 eve::dialogue::CommandRequest::arguments, eve::dialogue::CommandRequest::bindings, decodeSequencePayment(), decodeSequenceStateMutations(), eve::Result< T >::failure(), eve::Value::find(), GameplayAction, kind, eve::dialogue::CommandRequest::kind, eve::dialogue::CommandRequest::locals, eve::dialogue::CommandRequest::name, Operation, eve::dialogue::CommandRequest::payment, request, eve::dialogue::CommandRequest::requestId, eve::dialogue::CommandRequest::stateMutations , 以及 eve::Result< T >::success().
◆ decodeSequencePayment()
| EVENGINE_API_ORCHESTRATION eve::Result< PaymentSpec > eve::dialogue::decodeSequencePayment | ( | const eve::Value & | payload | ) |
Decode an optional dialogue payment from one canonical payload object.
在文件 DialogueSequence.cpp 第 118 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Value::find(), eve::dialogue::PaymentSpec::fromValue(), eve::InvalidArgument, payload , 以及 eve::Result< T >::success().
被这些函数引用 decodeDialogueCommandRequest() , 以及 eve::dialogue::DialogueFlow::select().
◆ decodeSequenceStateMutations()
| EVENGINE_API_ORCHESTRATION eve::Result< std::vector< eve::StateMutation > > eve::dialogue::decodeSequenceStateMutations | ( | const eve::Value & | payload | ) |
Decode dialogue state mutations from one canonical payload object.
在文件 DialogueSequence.cpp 第 126 行定义.
引用了 eve::Diagnostic::error(), eve::Value::find(), index, eve::InvalidArgument, payload , 以及 values.
被这些函数引用 decodeDialogueCommandRequest() , 以及 eve::dialogue::DialogueFlow::select().
◆ encodeSequenceStateMutations()
| EVENGINE_API_ORCHESTRATION eve::Value eve::dialogue::encodeSequenceStateMutations | ( | std::span< const eve::StateMutation > | mutations | ) |
Encode dialogue state mutations as the canonical payload array.
在文件 DialogueSequence.cpp 第 145 行定义.
引用了 eve::Value::boolean(), eve::state::StateMutation::key, eve::state::StateMutation::kind, eve::state::StateMutation::persistent, eve::Value::set(), eve::Value::string(), eve::state::StateMutation::subject, eve::state::StateMutation::value, value , 以及 values.
◆ exportConversationLocalizationCsv()
| EVENGINE_API_ORCHESTRATION std::string eve::dialogue::exportConversationLocalizationCsv | ( | const std::vector< eve::dnut::SequenceAsset > & | assets | ) |
Export stable line IDs and localization keys as RFC4180 CSV.
在文件 ConversationCompiler.cpp 第 124 行定义.
引用了 exportConversationLocalizationCsv(), node, output , 以及 sequencePayloadString().
被这些函数引用 exportConversationLocalizationCsv() , 以及 eve::dialogue::DialogueFlow::exportLocalizationCsv().
◆ importTweeConversation()
| EVENGINE_API_ORCHESTRATION eve::Result< std::vector< eve::dnut::SequenceAsset > > eve::dialogue::importTweeConversation | ( | const std::string & | source, |
| const std::string & | path, | ||
| std::vector< ConversationDiagnostic > & | diagnostics | ||
| ) |
Import Twee 3 passage source through the canonical validated conversation schema.
在文件 ConversationImporter.cpp 第 273 行定义.
引用了 current, eve::Diagnostic::error(), message, number, eve::ParseError, path, source , 以及 text.
◆ importYarnConversation()
| EVENGINE_API_ORCHESTRATION eve::Result< std::vector< eve::dnut::SequenceAsset > > eve::dialogue::importYarnConversation | ( | const std::string & | source, |
| const std::string & | path, | ||
| std::vector< ConversationDiagnostic > & | diagnostics | ||
| ) |
Import Yarn Spinner source through the canonical validated conversation schema.
在文件 ConversationImporter.cpp 第 262 行定义.
引用了 eve::Diagnostic::error(), message, eve::ParseError, path , 以及 source.
◆ lintConversations()
| EVENGINE_API_ORCHESTRATION eve::Result< void > eve::dialogue::lintConversations | ( | const std::vector< eve::dnut::SequenceAsset > & | assets, |
| const std::string & | path, | ||
| std::vector< ConversationDiagnostic > & | diagnostics | ||
| ) |
Validate references and report unreachable nodes.
在文件 ConversationCompiler.cpp 第 36 行定义.
引用了 eve::dialogue::ConversationDiagnostic::Error, exits, node, path, pending, registerDialogueSequenceSteps(), sequencePayloadString(), valid, validateDialogueSequenceAsset() , 以及 eve::dialogue::ConversationDiagnostic::Warning.
被这些函数引用 compileDnutDocument(), lintConversationWorkspace() , 以及 eve::dialogue::ConversationDocument::validate().
◆ lintConversationWorkspace()
| EVENGINE_API_ORCHESTRATION eve::Result< void > eve::dialogue::lintConversationWorkspace | ( | const std::vector< eve::dnut::SequenceAsset > & | assets, |
| const std::string & | label, | ||
| std::vector< ConversationDiagnostic > & | diagnostics | ||
| ) |
Lint a complete multi-file registry, including cross-asset call targets.
在文件 ConversationToolchain.cpp 第 16 行定义.
引用了 eve::Diagnostic::error(), eve::dialogue::ConversationDiagnostic::Error, eve::Result< T >::failure(), eve::Value::find(), eve::InvalidArgument, eve::Value::isObject(), eve::Value::keys(), label, lintConversations(), message, node, sequencePayloadString(), eve::Result< T >::success(), target, targetId , 以及 valid.
被这些函数引用 eve::dialogue::DialogueFlow::applyDocumentChecked(), eve::dialogue::DialogueFlow::lintAllChecked(), eve::dialogue::DialogueFlow::renameConversationChecked() , 以及 eve::dialogue::DialogueFlow::renameNodeChecked().
◆ Module_IMPL() [1/4]
| eve::dialogue::Module_IMPL | ( | Dialogue | , |
| new | Dialogue() | ||
| ) |
◆ Module_IMPL() [2/4]
| eve::dialogue::Module_IMPL | ( | DialogueFlow | , |
| new | DialogueFlow() | ||
| ) |
◆ Module_IMPL() [3/4]
| eve::dialogue::Module_IMPL | ( | DialogueUX | , |
| new | DialogueUX() | ||
| ) |
◆ Module_IMPL() [4/4]
| eve::dialogue::Module_IMPL | ( | DialogueVoice | , |
| new | DialogueVoice() | ||
| ) |
◆ parseDnutDocument()
| EVENGINE_API_ORCHESTRATION eve::Result< DnutDocument > eve::dialogue::parseDnutDocument | ( | const std::string & | source, |
| const std::string & | path, | ||
| std::vector< ConversationDiagnostic > & | diagnostics | ||
| ) |
Parse pools and conversations from one versioned dnut token stream.
在文件 DnutParser.cpp 第 311 行定义.
引用了 column, eve::dnut::compileDnutConversations(), eve::dnut::DnutCompileOutput::diagnostics, error, eve::Diagnostic::error(), eve::dialogue::ConversationDiagnostic::Error, eve::dnut::Error, eve::Result< T >::failure(), id, key, eve::dnut::lexDnut(), line, eve::Value::object(), eve::ParseError, path, eve::dialogue::DnutDocument::poolRoot, registerDialogueSequenceSteps(), eve::dnut::scanDnutBlocks(), source, tokens, eve::UnknownVersion, value , 以及 eve::dialogue::ConversationDiagnostic::Warning.
被这些函数引用 compileDnutDocument().
◆ registerDialogueSequenceSteps()
| EVENGINE_API_ORCHESTRATION eve::Result< void > eve::dialogue::registerDialogueSequenceSteps | ( | eve::dnut::StepKindRegistry & | registry | ) |
Register dialogue's line, choice, and command contracts and validators.
在文件 DialogueSequence.cpp 第 161 行定义.
引用了 line, eve::dnut::StepKindRegistry::registerStep(), eve::Result< T >::success() , 以及 validateCommand.
被这些函数引用 eve::dialogue::DialogueFlow::DialogueFlow(), lintConversations() , 以及 parseDnutDocument().
◆ renameConversationAsset()
| EVENGINE_API_ORCHESTRATION eve::Result< void > eve::dialogue::renameConversationAsset | ( | std::vector< eve::dnut::SequenceAsset > & | assets, |
| const std::string & | oldId, | ||
| const std::string & | newId | ||
| ) |
Rename an asset and rewrite every cross-asset call target.
在文件 ConversationToolchain.cpp 第 77 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, node, sequencePayloadString(), source, eve::Value::string() , 以及 eve::Result< T >::success().
被这些函数引用 eve::dialogue::DialogueFlow::renameConversationChecked().
◆ renameConversationNode()
| EVENGINE_API_ORCHESTRATION eve::Result< void > eve::dialogue::renameConversationNode | ( | std::vector< eve::dnut::SequenceAsset > & | assets, |
| const std::string & | assetId, | ||
| const std::string & | oldId, | ||
| const std::string & | newId | ||
| ) |
Rename one stable node and rewrite all references inside its asset.
在文件 ConversationToolchain.cpp 第 96 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, node, sequencePayloadString(), eve::Value::string() , 以及 eve::Result< T >::success().
被这些函数引用 eve::dialogue::ConversationDocument::renameNode() , 以及 eve::dialogue::DialogueFlow::renameNodeChecked().
◆ sequencePayloadString()
| EVENGINE_API_ORCHESTRATION std::string eve::dialogue::sequencePayloadString | ( | const eve::dnut::SequenceNode & | node, |
| std::string_view | key | ||
| ) |
Read an optional string from a node payload; missing or ill-typed values yield empty.
在文件 DialogueSequence.cpp 第 108 行定义.
引用了 eve::Value::find(), eve::Value::isString(), key, node , 以及 value.
被这些函数引用 exportConversationLocalizationCsv(), eve::dialogue::ConversationLocalizationCatalog::exportMissingCsv(), eve::dialogue::ConversationLocalizationCatalog::exportVoiceRecordingCsv(), eve::dialogue::DialogueFlow::getText(), eve::dialogue::DialogueFlow::getVoice(), eve::dialogue::DialogueFlow::getVoiceDuration(), eve::dialogue::DialogueFlow::getVoiceStatus(), eve::dialogue::DialogueFlow::lintAllChecked(), lintConversations(), lintConversationWorkspace(), eve::dialogue::ConversationDocument::removeNode(), renameConversationAsset(), renameConversationNode() , 以及 eve::dialogue::DialogueFlow::validateLocalization().
◆ sequenceRoutePayloadString()
| EVENGINE_API_ORCHESTRATION std::string eve::dialogue::sequenceRoutePayloadString | ( | const eve::dnut::SequenceRoute & | route, |
| std::string_view | key | ||
| ) |
Read an optional string from a route payload; missing or ill-typed values yield empty.
在文件 DialogueSequence.cpp 第 113 行定义.
引用了 eve::Value::find(), eve::Value::isString(), key, eve::dnut::SequenceRoute::payload , 以及 value.
被这些函数引用 eve::dialogue::DialogueFlow::getRouteText() , 以及 eve::dialogue::DialogueFlow::lintAllChecked().
◆ toCanonicalValue()
| EVENGINE_API_ORCHESTRATION eve::Value eve::dialogue::toCanonicalValue | ( | const eve::StateValue & | value | ) |
Convert the legacy reload value into the canonical common value.
- 参数
-
value Owned StateValue tree; it is not retained.
- 返回
- An owning common Value with identical JSON-compatible contents.
在文件 DialogueState.cpp 第 203 行定义.
引用了 eve::StateValue::Array, eve::Value::array(), eve::StateValue::Bool, eve::Value::boolean(), eve::StateValue::Float, eve::StateValue::Int, eve::Value::integer(), key, eve::StateValue::Null, eve::Value::null(), eve::Value::number(), eve::StateValue::Object, eve::Value::object(), eve::StateValue::String, eve::Value::string(), toCanonicalValue() , 以及 value.
被这些函数引用 eve::dialogue::DialogueFlow::restoreStateChecked(), eve::dialogue::DialogueFlow::restoreStateJsonChecked(), eve::dialogue::DialogueFlow::startChecked() , 以及 toCanonicalValue().
◆ toDialogueStateValue()
| EVENGINE_API_ORCHESTRATION eve::StateValue eve::dialogue::toDialogueStateValue | ( | const eve::Value & | value | ) |
Convert a canonical value to the legacy reload representation.
- 参数
-
value Owned common value; it is not retained.
- 返回
- An owning StateValue used by the existing persistence facade.
在文件 DialogueState.cpp 第 225 行定义.
引用了 eve::StateValue::array(), eve::Value::Array, eve::Value::Bool, eve::StateValue::boolean(), eve::Value::Double, eve::Value::Int64, eve::StateValue::integer(), key, eve::StateValue::null(), eve::Value::Null, eve::StateValue::number(), eve::StateValue::object(), eve::Value::Object, eve::StateValue::pushBack(), eve::StateValue::set(), eve::StateValue::string(), eve::Value::String, toDialogueStateValue() , 以及 value.
被这些函数引用 eve::dialogue::DialogueFlow::captureStateChecked() , 以及 toDialogueStateValue().
◆ validateDialogueSequenceAsset()
| EVENGINE_API_ORCHESTRATION eve::Result< void > eve::dialogue::validateDialogueSequenceAsset | ( | const eve::dnut::SequenceAsset & | asset, |
| const eve::dnut::StepKindRegistry & | registry | ||
| ) |
Validate every dialogue-owned payload without taking control-flow ownership.
在文件 DialogueSequence.cpp 第 195 行定义.
引用了 eve::dnut::StepKindRegistry::contains(), eve::Diagnostic::error(), graph, eve::InvalidArgument, node, eve::dnut::SequenceAsset::nodes, eve::Result< T >::success(), eve::dnut::SequenceAsset::validate() , 以及 eve::dnut::StepKindRegistry::validate().
被这些函数引用 lintConversations().