yyl
2026-02-09 5a4e34c8a85737c0fa5b5775122da31155cbaef3
Main/Config/Configs/HeroConfig.cs
@@ -1,30 +1,45 @@
//--------------------------------------------------------
//    [Author]:           YYL
//    [  Date ]:           Tuesday, July 15, 2025
//    [  Date ]:           Tuesday, December 16, 2025
//--------------------------------------------------------
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System;
using UnityEngine;
using LitJson;
public partial class HeroConfig : ConfigBase<int, HeroConfig>
{
    static HeroConfig()
    {
        // 访问过静态构造函数
        visit = true;
    }
    public int HeroID;
   public string Name;
   public int PlayerCanUse;
   public int Country;
   public int Quality;
   public int Class;
   public int Position;
   public int[] SkinIDList;
   public int AtkSkillID;
   public int AngerSkillID;
   public int DeathSFX;
   public int HitSFX;
   public int AtkInheritPer;
   public int DefInheritPer;
   public int HPInheritPer;
   public string BatAttrDict;
   public Dictionary<int, int> BatAttrDict;
   public int[] FetterIDList;
   public float UIScale;
   public string Desc;
   public int RecruitBySelf;
   public int Specialty;
   public int HurtType;
   public int[] Specialty2;
   public int[] TalentList;
    public override int LoadKey(string _key)
    {
@@ -38,19 +53,25 @@
        string[] tables = input.Split('\t');
        int.TryParse(tables[0],out HeroID); 
         int.TryParse(tables[1],out Country);
         Name = tables[1];
         int.TryParse(tables[2],out Quality);
         int.TryParse(tables[2],out PlayerCanUse);
         int.TryParse(tables[3],out Class);
         int.TryParse(tables[3],out Country);
         if (tables[4].Contains("["))
         int.TryParse(tables[4],out Quality);
         int.TryParse(tables[5],out Class);
         int.TryParse(tables[6],out Position);
         if (tables[7].Contains("["))
         {
            SkinIDList = JsonMapper.ToObject<int[]>(tables[4]);
            SkinIDList = JsonMapper.ToObject<int[]>(tables[7]);
         }
         else
         {
            string[] SkinIDListStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            string[] SkinIDListStringArray = tables[7].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            SkinIDList = new int[SkinIDListStringArray.Length];
            for (int i=0;i<SkinIDListStringArray.Length;i++)
            {
@@ -58,31 +79,73 @@
            }
         }
         int.TryParse(tables[5],out AtkSkillID);
         int.TryParse(tables[8],out AtkSkillID);
         int.TryParse(tables[6],out AngerSkillID);
         int.TryParse(tables[9],out AngerSkillID);
         int.TryParse(tables[7],out AtkInheritPer);
         int.TryParse(tables[10],out DeathSFX);
         int.TryParse(tables[8],out DefInheritPer);
         int.TryParse(tables[11],out HitSFX);
         int.TryParse(tables[9],out HPInheritPer);
         int.TryParse(tables[12],out AtkInheritPer);
         BatAttrDict = tables[10];
         int.TryParse(tables[13],out DefInheritPer);
         if (tables[11].Contains("["))
         int.TryParse(tables[14],out HPInheritPer);
         BatAttrDict = ConfigParse.ParseIntDict(tables[15]);
         if (tables[16].Contains("["))
         {
            FetterIDList = JsonMapper.ToObject<int[]>(tables[11]);
            FetterIDList = JsonMapper.ToObject<int[]>(tables[16]);
         }
         else
         {
            string[] FetterIDListStringArray = tables[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            string[] FetterIDListStringArray = tables[16].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            FetterIDList = new int[FetterIDListStringArray.Length];
            for (int i=0;i<FetterIDListStringArray.Length;i++)
            {
                int.TryParse(FetterIDListStringArray[i],out FetterIDList[i]);
            }
         }
         float.TryParse(tables[17],out UIScale);
         Desc = tables[18];
         int.TryParse(tables[19],out RecruitBySelf);
         int.TryParse(tables[20],out Specialty);
         int.TryParse(tables[21],out HurtType);
         if (tables[22].Contains("["))
         {
            Specialty2 = JsonMapper.ToObject<int[]>(tables[22]);
         }
         else
         {
            string[] Specialty2StringArray = tables[22].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            Specialty2 = new int[Specialty2StringArray.Length];
            for (int i=0;i<Specialty2StringArray.Length;i++)
            {
                int.TryParse(Specialty2StringArray[i],out Specialty2[i]);
            }
         }
         if (tables[23].Contains("["))
         {
            TalentList = JsonMapper.ToObject<int[]>(tables[23]);
         }
         else
         {
            string[] TalentListStringArray = tables[23].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            TalentList = new int[TalentListStringArray.Length];
            for (int i=0;i<TalentListStringArray.Length;i++)
            {
                int.TryParse(TalentListStringArray[i],out TalentList[i]);
            }
         }
        }
        catch (Exception exception)
        {