| | |
| | | var redTeamInfo = AnalyzeTeamList(redTeamList, true); |
| | | var blueTeamInfo = AnalyzeTeamList(blueTeamList, false); |
| | | |
| | | // ===== 新增:注册战场红队资源需求 ===== |
| | | cacheManager.RegisterBattlefieldRedTeam(battleGuid, redTeamInfo.SpineResources, redTeamInfo.AudioResources); |
| | | |
| | | StartPreload(redTeamInfo, blueTeamInfo, battleGuid, progressCallback, () => |
| | | { |
| | | isLoading = false; |
| | |
| | | null, // ← 蓝队不需要引用追踪 |
| | | false // ← 不是红队 |
| | | ); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 处理红队变更:清空旧的,重新加载新的 |
| | | /// </summary> |
| | | public void HandleRedTeamChange(List<TeamBase> newRedTeamList, Action completeCallback) |
| | | { |
| | | if (newRedTeamList == null) |
| | | { |
| | | completeCallback?.Invoke(); |
| | | return; |
| | | } |
| | | |
| | | Debug.Log("BattlePreloadManager: Handling red team change"); |
| | | |
| | | // 1. 卸载旧的红队资源 |
| | | unloadManager.UnloadRedTeamResources(cacheManager); |
| | | |
| | | // 2. 分析新红队资源 |
| | | var newRedInfo = AnalyzeTeamList(newRedTeamList, true); |
| | | |
| | | // 3. 预加载新红队资源(红队是全局的,传空字符串) |
| | | StartPreload(newRedInfo, new TeamResTracker.TeamResourceInfo(), "", null, completeCallback); |
| | | } |
| | | } |