| //--------------------------------------------------------  | 
| //    [Author]:           YYL  | 
| //    [  Date ]:           2025年10月14日  | 
| //--------------------------------------------------------  | 
|   | 
| using System.Collections.Generic;  | 
| using System;  | 
| using UnityEngine;  | 
| using LitJson;  | 
|   | 
| public partial class SkillConfig : ConfigBase<int, SkillConfig>  | 
| {  | 
|     static SkillConfig()  | 
|     {  | 
|         // 访问过静态构造函数  | 
|         visit = true;   | 
|     }  | 
|   | 
|     public int SkillID;  | 
|     public int SkillTypeID;  | 
|     public int SkillLV;  | 
|     public int SkillMaxLV;  | 
|     public string SkillName;  | 
|     public string Description;  | 
|     public int FuncType;  | 
|     public int SkillType;  | 
|     public int HurtType;  | 
|     public int AtkType;  | 
|     public int TagAim;  | 
|     public int TagFriendly;  | 
|     public int TagAffect;  | 
|     public int TagCount;  | 
|     public int HappenRate;  | 
|     public int CoolDownTime;  | 
|     public int FightPower;  | 
|     public string SkillMotionName;  | 
|     public string IconName;  | 
|     public int EffectType;  | 
|     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 BulletPath;  | 
|     public float BulletFlySpeed;  | 
|     public int Scattering;  | 
|     public int ExplosionEffectId;  | 
|     public int ExplosionEffect2;  | 
|     public int ExplosionEffect3;  | 
|     public int EffectId;  | 
|     public int EffectId2;  | 
|     public int MStartEffectId;  | 
|     public int BuffEffect;  | 
|     public int TriggerEffect;  | 
|   | 
|     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);   | 
|   | 
|             int.TryParse(tables[1],out SkillTypeID);   | 
|   | 
|             int.TryParse(tables[2],out SkillLV);   | 
|   | 
|             int.TryParse(tables[3],out SkillMaxLV);   | 
|   | 
|             SkillName = tables[4];  | 
|   | 
|             Description = tables[5];  | 
|   | 
|             int.TryParse(tables[6],out FuncType);   | 
|   | 
|             int.TryParse(tables[7],out SkillType);   | 
|   | 
|             int.TryParse(tables[8],out HurtType);   | 
|   | 
|             int.TryParse(tables[9],out AtkType);   | 
|   | 
|             int.TryParse(tables[10],out TagAim);   | 
|   | 
|             int.TryParse(tables[11],out TagFriendly);   | 
|   | 
|             int.TryParse(tables[12],out TagAffect);   | 
|   | 
|             int.TryParse(tables[13],out TagCount);   | 
|   | 
|             int.TryParse(tables[14],out HappenRate);   | 
|   | 
|             int.TryParse(tables[15],out CoolDownTime);   | 
|   | 
|             int.TryParse(tables[16],out FightPower);   | 
|   | 
|             SkillMotionName = tables[17];  | 
|   | 
|             IconName = tables[18];  | 
|   | 
|             int.TryParse(tables[19],out EffectType);   | 
|   | 
|             int.TryParse(tables[20],out StartupFrames);   | 
|   | 
|             if (tables[21].Contains("[")) | 
|             { | 
|                 ActiveFrames = JsonMapper.ToObject<int[]>(tables[21]); | 
|             } | 
|             else | 
|             { | 
|                 string[] ActiveFramesStringArray = tables[21].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 ActiveFrames = new int[ActiveFramesStringArray.Length]; | 
|                 for (int i=0;i<ActiveFramesStringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(ActiveFramesStringArray[i],out ActiveFrames[i]); | 
|                 } | 
|             }  | 
|   | 
|             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 BulletPath);   | 
|   | 
|             float.TryParse(tables[30],out BulletFlySpeed);   | 
|   | 
|             int.TryParse(tables[31],out Scattering);   | 
|   | 
|             int.TryParse(tables[32],out ExplosionEffectId);   | 
|   | 
|             int.TryParse(tables[33],out ExplosionEffect2);   | 
|   | 
|             int.TryParse(tables[34],out ExplosionEffect3);   | 
|   | 
|             int.TryParse(tables[35],out EffectId);   | 
|   | 
|             int.TryParse(tables[36],out EffectId2);   | 
|   | 
|             int.TryParse(tables[37],out MStartEffectId);   | 
|   | 
|             int.TryParse(tables[38],out BuffEffect);   | 
|   | 
|             int.TryParse(tables[39],out TriggerEffect);   | 
|         }  | 
|         catch (Exception exception)  | 
|         {  | 
|             Debug.LogError(exception);  | 
|         }  | 
|     }  | 
| }  |