Skip to content

feat: 性格维度图接入真实初始矩阵数据 - #27

Merged
ULookup merged 1 commit into
mainfrom
feat/personality-radar-data
Aug 7, 2026
Merged

feat: 性格维度图接入真实初始矩阵数据#27
ULookup merged 1 commit into
mainfrom
feat/personality-radar-data

Conversation

@ULookup

@ULookup ULookup commented Aug 7, 2026

Copy link
Copy Markdown
Owner

目的

性格维度图(雷达图)接入真实数据。此前 radar 一直显示全 0:宠物 prefab 没绑定 PersonalityMatrixSO(初始矩阵为空),且编辑器 Play 流程里 Boot 场景晚于宠物场景加载,PetControllerInitializedEvent 在服务订阅前被发布、事件被错过,GetMatrix 永远返回默认值。

改动

  • prefab 绑定初始矩阵:Pet_AngelPersonalityMatrix_Angel.asset(善良 0.7 / 恶 -0.3 …),Pet_DevilPersonalityMatrix_Devil.asset(善良 -0.2 / 恶 0.6 …)
  • PetController.InitialPersonalityMatrix 访问器:暴露 Inspector 绑定的初始矩阵
  • PersonalityEvolutionBootstrap.SeedInitialMatricesFromActivePets:启动时 FindObjectsOfType<PetController>() 扫描已激活宠物,补种初始矩阵。兜底编辑器 Play 时序缺口(Boot 用 delayCall 附加加载、晚于主场景),事件被错过也能拿到真实初始值
  • IPersonalityEvolutionService.SeedInitialMatrixIfAbsent:仅当该宠物尚无任何写入时设置,不覆盖存档恢复值;返回是否实际写入
  • 存档版本迁移:RestoreJson 忽略 v1 性格存档(初始矩阵接入前、基于全 0 基数累计的脏数据,恢复会覆盖补种的真实矩阵),由真实初始矩阵重建;CaptureJson 升到 v2

验证

编辑器 Play 后打开性格维度面板:

  • 天使雷达显示 善良 0.7 / 恶 0.3 / 沉稳 0.3 … 的真实形状,恶魔显示 善良 0.2 / 恶 0.6 …
  • Editor.log 出现 [PersonalityEvolutionBootstrap] 启动补种初始性格: 2 只宠物,随后一条 [PersonalityEvolutionService] 忽略旧版性格存档(v1…)
  • 退出再进,忽略日志不再出现(已存成 v2 真实基数)

- 宠物 prefab 绑定 PersonalityMatrixSO(Angel/Devil),初始 7 维性格有真实来源
- PersonalityEvolutionBootstrap 启动时扫描已激活宠物补种初始矩阵,修复编辑器
  Play 流程 Boot 晚于宠物场景加载导致 PetControllerInitializedEvent 被错过
- PersonalityEvolutionService 存档版本迁移:忽略 v1(0 基数累计的脏数据),
  由真实初始矩阵为基数重建;CaptureJson 升到 v2
@ULookup
ULookup merged commit dafedec into main Aug 7, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant