40 lines
1.3 KiB
Go
40 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"`
|
|||
|
|
}
|
|||
|
|
|