{"record":{"id":"87a37f87e1e25252","repo":"babalae/better-genshin-impact","slug":"error-87a37f","errorCode":null,"errorMessage":"联机状态下，此方法必须传入队伍角色编号位置信息","messagePattern":"联机状态下，此方法必须传入队伍角色编号位置信息","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"BetterGenshinImpact/GameTask/AutoFight/Model/CombatScenes.cs","lineNumber":367,"sourceCode":"        return true;\n    }\n\n\n    private Avatar[] BuildAvatars(List<string> names, List<Rect>? nameRects = null, List<Rect>? avatarIndexRectList = null, AutoFightConfig? autoFightConfig = null)\n    {\n        if (autoFightConfig == null)\n        {\n            autoFightConfig = TaskContext.Instance().Config.AutoFightConfig;\n        }\n        var cdConfig = autoFightConfig.ActionSchedulerByCd;\n        if (avatarIndexRectList == null && ExpectedTeamAvatarNum == 4)\n        {\n            avatarIndexRectList = [.. _autoFightAssets.AvatarIndexRectList];\n        }\n\n        if (avatarIndexRectList == null)\n        {\n            throw new Exception(\"联机状态下，此方法必须传入队伍角色编号位置信息\");\n        }\n\n        var namesCount = names.Count;\n        var avatars = new Avatar[namesCount];\n        for (var i = 0; i < namesCount; i++)\n        {\n            var nameRect = nameRects?[i] ?? default;\n            // 根据手动写的出招表来优化CD\n            var cd = Avatar.ParseActionSchedulerByCd(names[i], cdConfig);\n            avatars[i] = new Avatar(this, names[i], i + 1, nameRect, cd ?? -1)\n            {\n                IndexRect = avatarIndexRectList[i]\n            };\n        }\n\n        return avatars;\n    }\n","sourceCodeStart":349,"sourceCodeEnd":385,"githubUrl":"https://github.com/babalae/better-genshin-impact/blob/a7cb36712dcb409be610257d877fcea3597e9d6b/BetterGenshinImpact/GameTask/AutoFight/Model/CombatScenes.cs#L349-L385","documentation":"Error \"联机状态下，此方法必须传入队伍角色编号位置信息\" thrown in babalae/better-genshin-impact.","triggerScenarios":"构建 Avatar 数组时 ExpectedTeamAvatarNum 不是4（联机状态），且调用方未传入 avatarIndexRectList 编号框位置信息，也没有默认资源可用时抛出。","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"}