lcy
2025-11-06 09bc892c7283df8757a07b646d5af21ddaa263d1
Main/System/Battle/BattleField/RecordActions/BattleStartAction.cs
@@ -8,7 +8,7 @@
   public BattleStartAction(BattleField _battleField)
      : base(RecordActionType.BattleStart, _battleField, null)
   {
   }
   public override bool IsFinished()
@@ -17,9 +17,9 @@
   }
    public override void Run()
    {
        base.Run();
   public override void Run()
   {
      base.Run();
      if (isRun)
         return;
@@ -27,13 +27,41 @@
      //   隐藏部分UI
      EventBroadcast.Instance.Broadcast(EventName.DISPLAY_BATTLE_UI, battleField.guid, false);
      // battleField.battleRootNode.SetSortingOrder();
      battleField.StartBattle(() =>
      {
         isFinish = true;
         // 完成就开始显示UI
         EventBroadcast.Instance.Broadcast(EventName.DISPLAY_BATTLE_UI, battleField.guid, true);
         if (1 == battleField.MapID)
         {
            //  主线不播战斗开始
            StartBattleCallback();
            return;
         }
         battleField.battleRootNode.battleStartNode.SetActive(true);
         UniTaskExtension.DelayTime((GameObject)null, 1f, () =>
         {
            battleField.battleRootNode.battleStartNode.SetActive(false);
            StartBattleCallback();
         });
      });
      isRun = true;
    }
   }
   private void StartBattleCallback()
   {
      isFinish = true;
      EventBroadcast.Instance.Broadcast(EventName.DISPLAY_BATTLE_UI, battleField.guid, true);
      battleField.DistributeNextPackage();
   }
   public override void ForceFinish()
   {
      //正常开始之后到界面出现之前都点不了 所以这边不用强制完成 接口留着
      base.ForceFinish();
      // 完成就开始显示UI
   }
}