41 lines
1.3 KiB
Go
41 lines
1.3 KiB
Go
package catalogs
|
||
|
||
import (
|
||
"encoding/json"
|
||
"os"
|
||
"path/filepath"
|
||
"sync"
|
||
)
|
||
|
||
var _ = json.RawMessage{}
|
||
var _ = sync.Mutex{}
|
||
var _ = os.ReadFile
|
||
var _ = filepath.Join
|
||
|
||
// 一条台词索引项。字段与 DialogIndex.json 的行一一对应。
|
||
type DialogEntry struct {
|
||
Id uint32 `json:"id"`
|
||
Message string `json:"message"`
|
||
Speaker string `json:"speaker"`
|
||
CameraId uint32 `json:"cameraId"`
|
||
Type int32 `json:"type"`
|
||
// 带镜头(cam != 0)= 这条是「过场对话」,会拉运镜;纯台词 cam 为 0。
|
||
IsCutscene bool `json:"isCutscene"`
|
||
}
|
||
|
||
//
|
||
// 台詞索引(Configs/DialogIndex.json,58932 条,其中带镜头过场 1205 条)。
|
||
// ★ 用途:GM 面板「剧情对话」子页用 Search 列出可播的台词,
|
||
// 玩家/开发者选中一条后由服务端推 SyncShowDialog(64967628) 让客户端播出来。
|
||
// type 分布(前几类):15=18941 / 14=16625 / 10=9503 / 13=6724 / 22=5258。
|
||
// ⛑ 这份表只用于「列清单 + 取文案」;真正播什么由客户端按自己的 DialogConfig 演,
|
||
// 服务端发的只是 id —— 所以表里查不到的 id 也照样能下发(客户端有自己的数据)。
|
||
//
|
||
type StoryDialogue4229938 struct {
|
||
Cache any `json:"cache"`
|
||
All []DialogEntry `json:"all"`
|
||
Count int32 `json:"count"`
|
||
CutsceneCount int32 `json:"cutsceneCount"`
|
||
}
|
||
|