Repository navigation
refactor: 使用 CodeMatcher 整理拼装修复 - #337
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概述 Overview
将拼装修复的手写指令遍历改为 Harmony
CodeMatcher:按宝石或边框字段、GetComponent<Renderer>()、enabled = false的完整序列匹配,通过Repeat处理全部命中,使用Set保留跳转标签和异常块。缓存具体的泛型方法引用,避免在遍历过程中逐次检查方法名称与泛型参数;方法无法解析时保留原始指令,避免空操作数变成通配条件。作为 #335 的后续整理,修复仍采用局部 Transpiler,目标方法和判空 helper 保持不变。没有把缺失边框改为宝石引用:
Actor的宝石可能在ShowCard期间才初始化,且GhostCard、ConstructCard会缓存边框引用并应用材质,改动字段会扩大影响范围。检查 Check
功能 Function
风险 Risk
本次未重新进行游戏内验收;此前 #335 的实现已有游戏实测确认,本次另行验证了当前程序集上的输出等价性。仍依赖游戏的指定访问序列,后续游戏更新若调整该序列需要重新核对。