//--------------------------------------------------------  
 | 
//    [Author]:           YYL  
 | 
//    [  Date ]:           Wednesday, October 15, 2025  
 | 
//--------------------------------------------------------  
 | 
  
 | 
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 ExplosionEffect4;  
 | 
    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 ExplosionEffect4);   
 | 
  
 | 
            int.TryParse(tables[36],out EffectId);   
 | 
  
 | 
            int.TryParse(tables[37],out EffectId2);   
 | 
  
 | 
            int.TryParse(tables[38],out MStartEffectId);   
 | 
  
 | 
            int.TryParse(tables[39],out BuffEffect);   
 | 
  
 | 
            int.TryParse(tables[40],out TriggerEffect);   
 | 
        }  
 | 
        catch (Exception exception)  
 | 
        {  
 | 
            Debug.LogError(exception);  
 | 
        }  
 | 
    }  
 | 
}  
 |