把角色json导入到该编辑器里
昨天 12:48综合
1. 内置角色导入
CharStorage.lua 新增 ListAssetChars() — 列出尚未导入的内置角色(目前包含"爸爸")
CharStorage.lua 新增 ImportFromAssets(charFile) — 从 assets 资源目录读取角色 JSON 并保存到 sandbox
"加载"对话框新增"内置角色(点击导入编辑)"区域,点击即可将内置角色导入编辑器并打开
2. 缩略图预览
CharStorage.lua 新增 GenerateThumbnail(charTable) — 从角色像素数据动态生成 Image → Texture2D,通过 cache:AddManualResource() 注册,用于 UI 的 backgroundImage
GetBuiltinThumbnail(charId) — 内置角色直接使用现有 PNG 缩略图
"加载"对话框每个角色行现在左侧显示 40x40 的缩略图预览(像素风格 FILTER_NEAREST),右侧显示名称和 ID
加载对话框结构
本地角色 — 用户创建/编辑过的角色,带缩略图
内置角色 — 可导入的预制角色(如"爸爸"),导入后进入"本地角色"区,此区域消失
云端存档 — 原有云端列表不变
背后的原理
流程已经完全打通:
步骤 发生了什么
编辑器"保存" CharStorage.Save() → 写入 characters/{id}.json
游戏选角弹窗打开 buildRoster() 调用 CharStorage.ListAll() 扫描所有 characters/*.json
你的自建角色 出现在角色列表最前面,标记 isUserChar = true,可直接选择
点击"进入游戏" loadCharData() 优先从 CharStorage.Load(id) 读取 sandbox 中的角色数据
有一个小问题:用户自建角色在选角弹窗中没有缩略图(因为 buildRoster() 没有给 thumbnail 字段赋值)。


