Skip to content

fix: 修复异画卡拼装界面的空引用 - #335

Merged
Pik-4 merged 1 commit into
Pik-4:bepinex5from
CissiBot:codex/fix-signature-assemble-ui
Oct 22, 2026
Merged

Pik-4 merged 1 commit into
Pik-4:bepinex5from
CissiBot:codex/fix-signature-assemble-ui

Conversation

@CissiBot

Copy link
Copy Markdown
Contributor

概述 Overview

修复开启异画优先后,打出拼装牌时界面因空引用而无法继续操作的问题。部分异画卡的模型有稀有度宝石,但没有普通卡边框;拼装界面只检查宝石是否存在,随后访问边框的 Renderer,触发 AssembleUIManager.OnShowChoices 的 NullReferenceException。

新增 PatchAssemble,仅对 OnShowChoices 和 ToggleAssembleUIDisplay 中宝石、边框的隐藏操作补齐对象及 Renderer 判空,保留异画效果和原有拼装流程。原地替换对应 IL 指令,保留跳转标签和异常块;旧版游戏不存在目标类型或方法时跳过补丁。

Fixes #334

检查 Check

功能 Function

  • 配置与本地化:本次未新增配置项或语言字段。
  • 使用说明:现有功能修复,无新增操作。
  • Release 编译通过,0 警告、0 错误。
  • 本地隔离回归 20/20 通过:直接调用生产 Transpiler 并执行改写后的代码,覆盖缺边框、缺 Renderer、正常装饰隐藏、旧版跳过及无关指令保持。原始代码在 9 个缺组件用例中抛出空引用。
  • 对照当前游戏程序集,两个目标方法分别匹配 2 处和 4 处访问。
  • 2026-10-21 已获得游戏内实测反馈,确认拼装修复有效;启动日志确认补丁应用到 2 个方法。

风险 Risk

补丁依赖当前游戏的指定 IL 访问模式。后续游戏版本若调整该模式,需要重新核对匹配。

@Pik-4

Pik-4 commented Oct 22, 2026

Copy link
Copy Markdown
Owner

直接该IL不太优雅,但是能用,有机会再重构吧

@Pik-4
Pik-4 merged commit da1493c into Pik-4:bepinex5 Oct 22, 2026
1 check 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.

使用拼装牌出现异画时会无法拼装

2 participants