feat: migrate story modules & engine; update assets and structure

This commit is contained in:
2025-09-05 11:45:09 +08:00
parent 00f0fcb667
commit a90cc1c5a9
79 changed files with 5521 additions and 6501 deletions

View File

@@ -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")