| //-------------------------------------------------------- | 
| //    [Author]:           YYL | 
| //    [  Date ]:           Monday, August 4, 2025 | 
| //-------------------------------------------------------- | 
|   | 
| using System.Collections.Generic; | 
| using System; | 
| using UnityEngine; | 
| using LitJson; | 
|   | 
| public partial class SkillConfig : ConfigBase<int, SkillConfig> | 
| { | 
|     static SkillConfig() | 
|     { | 
|         dic.Clear(); | 
|     } | 
|   | 
|     public int SkillID; | 
|     public string SkillName; | 
|     public string Description; | 
|     public string IconName; | 
|     public int FuncType; | 
|     public int SkillType; | 
|     public int HurtType; | 
|     public int AtkType; | 
|     public int TagAim; | 
|     public int LastTime; | 
|     public int CoolDownTime; | 
|     public int EffectID1; | 
|     public int[] EffectValues1; | 
|     public int EffectID2; | 
|     public int[] EffectValues2; | 
|     public int EffectID3; | 
|     public int[] EffectValues3; | 
|     public int ConnSkill; | 
|     public int[] EnhanceSkillList; | 
|     public int FightPower; | 
|     public int StartupFrames; | 
|     public int ActiveFrames; | 
|     public int RecoveryFrames; | 
|     public int LoopCount; | 
|     public int CastPosition; | 
|     public int CastIndexNum; | 
|     public float CastDistance; | 
|     public int[][] DamageDivide; | 
|     public int BulletEffectId; | 
|     public int BulletPos; | 
|     public int BulletPath; | 
|     public int BulletFlyTime; | 
|     public int ExplosionEffectId; | 
|     public int ExplosionPos; | 
|     public string SkillMotionName; | 
|     public int EffectId; | 
|     public int EffectPos; | 
|     public int EffectType; | 
|   | 
|     public override int LoadKey(string _key) | 
|     { | 
|         int key = GetKey(_key); | 
|         return key; | 
|     } | 
|   | 
|     public override void LoadConfig(string input) | 
|     { | 
|         try { | 
|         string[] tables = input.Split('\t'); | 
|         int.TryParse(tables[0],out SkillID);  | 
|   | 
|             SkillName = tables[1]; | 
|   | 
|             Description = tables[2]; | 
|   | 
|             IconName = tables[3]; | 
|   | 
|             int.TryParse(tables[4],out FuncType);  | 
|   | 
|             int.TryParse(tables[5],out SkillType);  | 
|   | 
|             int.TryParse(tables[6],out HurtType);  | 
|   | 
|             int.TryParse(tables[7],out AtkType);  | 
|   | 
|             int.TryParse(tables[8],out TagAim);  | 
|   | 
|             int.TryParse(tables[9],out LastTime);  | 
|   | 
|             int.TryParse(tables[10],out CoolDownTime);  | 
|   | 
|             int.TryParse(tables[11],out EffectID1);  | 
|   | 
|             if (tables[12].Contains("[")) | 
|             { | 
|                 EffectValues1 = JsonMapper.ToObject<int[]>(tables[12]); | 
|             } | 
|             else | 
|             { | 
|                 string[] EffectValues1StringArray = tables[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 EffectValues1 = new int[EffectValues1StringArray.Length]; | 
|                 for (int i=0;i<EffectValues1StringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(EffectValues1StringArray[i],out EffectValues1[i]); | 
|                 } | 
|             } | 
|   | 
|             int.TryParse(tables[13],out EffectID2);  | 
|   | 
|             if (tables[14].Contains("[")) | 
|             { | 
|                 EffectValues2 = JsonMapper.ToObject<int[]>(tables[14]); | 
|             } | 
|             else | 
|             { | 
|                 string[] EffectValues2StringArray = tables[14].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 EffectValues2 = new int[EffectValues2StringArray.Length]; | 
|                 for (int i=0;i<EffectValues2StringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(EffectValues2StringArray[i],out EffectValues2[i]); | 
|                 } | 
|             } | 
|   | 
|             int.TryParse(tables[15],out EffectID3);  | 
|   | 
|             if (tables[16].Contains("[")) | 
|             { | 
|                 EffectValues3 = JsonMapper.ToObject<int[]>(tables[16]); | 
|             } | 
|             else | 
|             { | 
|                 string[] EffectValues3StringArray = tables[16].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 EffectValues3 = new int[EffectValues3StringArray.Length]; | 
|                 for (int i=0;i<EffectValues3StringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(EffectValues3StringArray[i],out EffectValues3[i]); | 
|                 } | 
|             } | 
|   | 
|             int.TryParse(tables[17],out ConnSkill);  | 
|   | 
|             if (tables[18].Contains("[")) | 
|             { | 
|                 EnhanceSkillList = JsonMapper.ToObject<int[]>(tables[18]); | 
|             } | 
|             else | 
|             { | 
|                 string[] EnhanceSkillListStringArray = tables[18].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 EnhanceSkillList = new int[EnhanceSkillListStringArray.Length]; | 
|                 for (int i=0;i<EnhanceSkillListStringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(EnhanceSkillListStringArray[i],out EnhanceSkillList[i]); | 
|                 } | 
|             } | 
|   | 
|             int.TryParse(tables[19],out FightPower);  | 
|   | 
|             int.TryParse(tables[20],out StartupFrames);  | 
|   | 
|             int.TryParse(tables[21],out ActiveFrames);  | 
|   | 
|             int.TryParse(tables[22],out RecoveryFrames);  | 
|   | 
|             int.TryParse(tables[23],out LoopCount);  | 
|   | 
|             int.TryParse(tables[24],out CastPosition);  | 
|   | 
|             int.TryParse(tables[25],out CastIndexNum);  | 
|   | 
|             float.TryParse(tables[26],out CastDistance);  | 
|   | 
|             DamageDivide = JsonMapper.ToObject<int[][]>(tables[27].Replace("(", "[").Replace(")", "]"));  | 
|   | 
|             int.TryParse(tables[28],out BulletEffectId);  | 
|   | 
|             int.TryParse(tables[29],out BulletPos);  | 
|   | 
|             int.TryParse(tables[30],out BulletPath);  | 
|   | 
|             int.TryParse(tables[31],out BulletFlyTime);  | 
|   | 
|             int.TryParse(tables[32],out ExplosionEffectId);  | 
|   | 
|             int.TryParse(tables[33],out ExplosionPos);  | 
|   | 
|             SkillMotionName = tables[34]; | 
|   | 
|             int.TryParse(tables[35],out EffectId);  | 
|   | 
|             int.TryParse(tables[36],out EffectPos);  | 
|   | 
|             int.TryParse(tables[37],out EffectType);  | 
|         } | 
|         catch (Exception exception) | 
|         { | 
|             Debug.LogError(exception); | 
|         } | 
|     } | 
| } |