yyl
2026-01-23 b125ed00e7e0db3e5851bf535cf19aae46d4cc37
Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -1,5 +1,15 @@
using UnityEngine;
using System.Collections.Generic;
using System.Linq;
#if UNITY_EDITOR
public enum SkillCastEnum
   {
      MainSkill,
      SubSkill,
   }
#endif
public class SkillRecordAction : RecordAction
{
@@ -8,7 +18,13 @@
#else
   protected 
#endif 
      SkillBase skillBase;
#if UNITY_EDITOR
   public SkillCastEnum skillCastEnum = SkillCastEnum.MainSkill;
#endif
   public HB427_tagSCUseSkill hB427_TagSCUseSkill;
@@ -77,6 +93,33 @@
      {
         skillBase.ForceFinished();
      }
#if UNITY_EDITOR
      // 标记包执行完成
      if (tracePackUID != 0 && !string.IsNullOrEmpty(GetBattleFieldGuid()))
      {
         try
         {
            var editorAssembly = System.AppDomain.CurrentDomain.GetAssemblies()
               .FirstOrDefault(a => a.GetName().Name == "Assembly-CSharp-Editor");
            if (editorAssembly != null)
            {
               var checkerType = editorAssembly.GetType("BattleReportChecker");
               if (checkerType != null)
               {
                  var method = checkerType.GetMethod("MarkPackageExecuted",
                     System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
                  if (method != null)
                  {
                     method.Invoke(null, new object[] { GetBattleFieldGuid(), tracePackUID });
                  }
               }
            }
         }
         catch { }
      }
#endif
        base.ForceFinish();
    }
   
@@ -100,6 +143,32 @@
   {
      base.Run();
#if UNITY_EDITOR
      // 标记包开始执行
      if (tracePackUID != 0 && !string.IsNullOrEmpty(GetBattleFieldGuid()))
      {
         try
         {
            var editorAssembly = System.AppDomain.CurrentDomain.GetAssemblies()
               .FirstOrDefault(a => a.GetName().Name == "Assembly-CSharp-Editor");
            if (editorAssembly != null)
            {
               var checkerType = editorAssembly.GetType("BattleReportChecker");
               if (checkerType != null)
               {
                  var method = checkerType.GetMethod("MarkPackageExecuting",
                     System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
                  if (method != null)
                  {
                     method.Invoke(null, new object[] { GetBattleFieldGuid(), tracePackUID });
                  }
               }
            }
         }
         catch { }
      }
#endif
      if (null == skillBase)
      {
         return;