feat: migrate story modules & engine; update assets and structure
This commit is contained in:
@@ -69,27 +69,10 @@ fun main() = runBlocking {
|
||||
fun extractAndConvertContent(outputDir: File) {
|
||||
println("📊 开始内容提取和分析...")
|
||||
|
||||
// 步骤1:读取并分析CompleteStoryData.kt
|
||||
val storyDataFile = File("app/src/main/java/com/example/gameofmoon/story/CompleteStoryData.kt")
|
||||
if (!storyDataFile.exists()) {
|
||||
println("❌ 找不到CompleteStoryData.kt文件")
|
||||
return
|
||||
}
|
||||
|
||||
val content = storyDataFile.readText()
|
||||
println("📖 读取了${content.length}个字符的故事内容")
|
||||
|
||||
// 步骤2:解析节点定义
|
||||
val nodePattern = Regex(""""([^"]+)"\s+to\s+SimpleStoryNode\s*\([\s\S]*?^\s*\)""", RegexOption.MULTILINE)
|
||||
val nodes = mutableMapOf<String, String>()
|
||||
|
||||
nodePattern.findAll(content).forEach { match ->
|
||||
val nodeId = match.groupValues[1]
|
||||
val nodeContent = match.value
|
||||
nodes[nodeId] = nodeContent
|
||||
println("🔍 找到节点:$nodeId")
|
||||
}
|
||||
// 旧系统 CompleteStoryData.kt 已移除,此处直接跳过读取与解析
|
||||
println("ℹ️ 跳过旧系统读取:CompleteStoryData.kt 已移除")
|
||||
|
||||
val nodes = emptyMap<String, String>()
|
||||
println("📊 总共找到 ${nodes.size} 个故事节点")
|
||||
|
||||
// 步骤3:按类型分组节点
|
||||
@@ -176,10 +159,10 @@ fun generateModuleDSL(moduleName: String, nodeIds: List<String>): String {
|
||||
dslBuilder.appendLine("@node $nodeId")
|
||||
dslBuilder.appendLine("@title \"${getNodeTitle(nodeId)}\"")
|
||||
dslBuilder.appendLine("@audio_bg ${getNodeAudio(nodeId)}")
|
||||
dslBuilder.appendLine("@content \"\"\"")
|
||||
dslBuilder.appendLine("// 从CompleteStoryData转换的内容:$nodeId")
|
||||
dslBuilder.appendLine("@content \"\"")
|
||||
dslBuilder.appendLine("// legacy placeholder: $nodeId")
|
||||
dslBuilder.appendLine("// 实际内容需要从原始数据中提取")
|
||||
dslBuilder.appendLine("\"\"\"")
|
||||
dslBuilder.appendLine("\"\"")
|
||||
dslBuilder.appendLine()
|
||||
|
||||
dslBuilder.appendLine("@choices 2")
|
||||
|
||||
Reference in New Issue
Block a user