yyl
2025-12-03 93cab33f292e99c81e738b2b6c58c7fa21a7f371
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using UnityEngine;
using System.Collections.Generic;
 
public class PreloadResAction : RecordAction
{
 
    private List<TeamBase> redTeamList;
    private List<TeamBase> blueTeamList;
 
    public PreloadResAction(BattleField _battleField, List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList)
        : base(RecordActionType.PreloadRes, _battleField, null)
    {
        redTeamList = _redTeamList;
        blueTeamList = _blueTeamList;
    }
 
    public override bool IsFinished()
    {
        return isFinish;
    }
 
 
    public override void Run()
    {
        base.Run();
 
        if (isRunOnce)
        {
            return;
        }
 
        // 传递战场GUID
        BattleResManager.Instance.PreloadBattleResources(
            battleField.guid,  // ← 关键:传递战场GUID
            redTeamList, 
            blueTeamList,
            (progress) => 
            {
                BattleDebug.LogError($"Battle {battleField.guid} resources loading: {progress * 100}%");
            },
            OnPreloadFinish
        );
 
        isRunOnce = true;
    }
 
    private void OnPreloadFinish()
    {
        BattleDebug.LogError("Battle resources preload complete.");
        isFinish = true;
    }
 
    public override void ForceFinish()
    {
        //正常开始之后到界面出现之前都点不了 所以这边不用强制完成 接口留着
 
        base.ForceFinish();
        // 完成就开始显示UI
 
    }
}