From 12d08d599a41b15e0a20113d1a521c8c3a232e79 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Mon, 9 Feb 2026 10:31:14 +0800 Subject: Initialize MarkDialog project with parser and workspace structure --- built_res/src/lib.rs | 2 ++ built_res/src/res_sentences.rs | 51 +++++++++++++++++++++++++++++++++++++++ built_res/src/structs.rs | 1 + built_res/src/structs/sentence.rs | 12 +++++++++ 4 files changed, 66 insertions(+) create mode 100644 built_res/src/lib.rs create mode 100644 built_res/src/res_sentences.rs create mode 100644 built_res/src/structs.rs create mode 100644 built_res/src/structs/sentence.rs (limited to 'built_res/src') diff --git a/built_res/src/lib.rs b/built_res/src/lib.rs new file mode 100644 index 0000000..bef5b44 --- /dev/null +++ b/built_res/src/lib.rs @@ -0,0 +1,2 @@ +pub mod res_sentences; +pub mod structs; diff --git a/built_res/src/res_sentences.rs b/built_res/src/res_sentences.rs new file mode 100644 index 0000000..8354ded --- /dev/null +++ b/built_res/src/res_sentences.rs @@ -0,0 +1,51 @@ +use crate::structs::sentence::{Sentence, Token}; + +#[derive(Hash, PartialEq, Eq)] +pub enum SentenceId { + // 在此处确认所有跳转点 + Main0, + Main1, + Main2, + Ok1, +} + +pub fn get_sentence(id: SentenceId) -> Option> { + match id { + SentenceId::Main0 => Some(Sentence { + content_tokens: &[ + &Token::Text("你好我是"), + &Token::Command("red"), + &Token::Text("猫尾草"), + &Token::Command("/"), + ], + next_sentence: Some(SentenceId::Main1), + }), + SentenceId::Main1 => Some(Sentence { + content_tokens: &[ + &Token::Text("你好我是"), + &Token::Command("red"), + &Token::Text("猫尾草"), + &Token::Command("/"), + ], + next_sentence: Some(SentenceId::Main2), + }), + SentenceId::Main2 => Some(Sentence { + content_tokens: &[ + &Token::Text("你好我是"), + &Token::Command("red"), + &Token::Text("猫尾草"), + &Token::Command("/"), + ], + next_sentence: Some(SentenceId::Ok1), + }), + SentenceId::Ok1 => Some(Sentence { + content_tokens: &[ + &Token::Text("你好我是"), + &Token::Command("red"), + &Token::Text("猫尾草"), + &Token::Command("/"), + ], + next_sentence: None, + }), + } +} diff --git a/built_res/src/structs.rs b/built_res/src/structs.rs new file mode 100644 index 0000000..b7bb9ef --- /dev/null +++ b/built_res/src/structs.rs @@ -0,0 +1 @@ +pub mod sentence; diff --git a/built_res/src/structs/sentence.rs b/built_res/src/structs/sentence.rs new file mode 100644 index 0000000..270d5f7 --- /dev/null +++ b/built_res/src/structs/sentence.rs @@ -0,0 +1,12 @@ +pub struct Sentence<'a> { + pub content_tokens: &'a [&'static Token], + pub next_sentence: Option, +} + +pub enum Token { + Text(&'static str), + BoldText(&'static str), + ItalicText(&'static str), + BoldItalicText(&'static str), + Command(&'static str), +} -- cgit