using UnityEngine; using System.Collections.Generic; public class PreloadResAction : RecordAction { private List redTeamList; private List blueTeamList; public PreloadResAction(BattleField _battleField, List _redTeamList, List _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 } }