{"record":{"id":"efdbe223b0ee3a25","repo":"babalae/better-genshin-impact","slug":"error-efdbe2","errorCode":null,"errorMessage":"校验角色列表识别结果失败，角色编号不是连续的！","messagePattern":"校验角色列表识别结果失败，角色编号不是连续的！","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"BetterGenshinImpact/GameTask/AutoFight/Model/PartyAvatarSideIndexHelper.cs","lineNumber":230,"sourceCode":"                            var rect = GetIndexRectFromKnownIndexRect(knownIndex, knownRect, i + 1);\n                            if (IsIntersecting(curr.Y, curr.Height, rect.Y, rect.Height))\n                            {\n                                // 如果和当前出战角色标识相交，说明这个位置是正确的\n                                indexRectList[i] = rect;\n                                logger.LogInformation(\"当前出战角色未正确识别，通过出战标识推测角色编号为{Index}\", i + 1);\n                            }\n                        }\n                    }\n\n                    // 校验推测结果（编号从 1 开始必定连续）\n                    if (AreNullsAtEnd(indexRectList))\n                    {\n                        var notNullIndexRectList = indexRectList.Where(r => r != default).ToList();\n                        return (notNullIndexRectList, GetAvatarSideIconRectFromIndexRect(notNullIndexRectList, systemInfo));\n                    }\n                    else\n                    {\n                        throw new Exception(\"校验角色列表识别结果失败，角色编号不是连续的！\");\n                    }\n                }\n            }\n            else\n            {\n                // 没有出战角色标识的情况下，直接抛出错误走写死逻辑\n                throw new Exception(\"找不到出战角色编号块与当前出战角色标识！\");\n            }\n        }\n    }\n\n    private static (int, Rect) GetKnownIndexAndRect(List<Rect> indexRectList)\n    {\n        for (int i = 0; i < indexRectList.Count; i++)\n        {\n            if (indexRectList[i] != default)\n            {\n                return (i + 1, indexRectList[i]);","sourceCodeStart":212,"sourceCodeEnd":248,"githubUrl":"https://github.com/babalae/better-genshin-impact/blob/a7cb36712dcb409be610257d877fcea3597e9d6b/BetterGenshinImpact/GameTask/AutoFight/Model/PartyAvatarSideIndexHelper.cs#L212-L248","documentation":"Error \"校验角色列表识别结果失败，角色编号不是连续的！\" thrown in babalae/better-genshin-impact.","triggerScenarios":"根据当前出战标识推测角色编号后，校验 indexRectList 的空洞不在末尾（编号不连续，如1、3有而2缺失）时抛出。","commonSituations":"联机/特殊队伍下部分角色编号块识别失败，推测补位后编号仍不连续。","solutions":["重新执行角色列表识别，确保界面无遮挡","调整游戏内时间到夜晚以提升识别稳定性","若反复失败，使用强制指定角色功能绕过自动识别"],"exampleFix":"调整画面（暗背景、无遮挡）重试识别；联机环境下若反复失败，改用单机或反馈日志。","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a7cb36712dcb409be610257d877fcea3597e9d6b","analyzedAt":"2026-08-13T16:44:57.548Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}