//-------------------------------------------------------- // [Author]: YYL // [ Date ]: Wednesday, October 15, 2025 //-------------------------------------------------------- using System.Collections.Generic; using System; using UnityEngine; using LitJson; public partial class SkillConfig : ConfigBase { 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(tables[21]); } else { string[] ActiveFramesStringArray = tables[21].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); ActiveFrames = new int[ActiveFramesStringArray.Length]; for (int i=0;i(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); } } }