//-------------------------------------------------------- // [Author]: YYL // [ Date ]: Wednesday, August 20, 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 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 EffectID1; public int[] EffectValues1; public int EffectID2; public int[] EffectValues2; public int EffectID3; public int[] EffectValues3; public int ConnSkill; public int CoolDownTime; 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 string IconName; public int ExplosionEffect2; 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 SkillMaxLV); SkillName = tables[3]; Description = tables[4]; int.TryParse(tables[5],out FuncType); int.TryParse(tables[6],out SkillType); int.TryParse(tables[7],out HurtType); int.TryParse(tables[8],out AtkType); int.TryParse(tables[9],out TagAim); int.TryParse(tables[10],out TagFriendly); int.TryParse(tables[11],out TagAffect); int.TryParse(tables[12],out TagCount); int.TryParse(tables[13],out HappenRate); int.TryParse(tables[14],out EffectID1); if (tables[15].Contains("[")) { EffectValues1 = JsonMapper.ToObject(tables[15]); } else { string[] EffectValues1StringArray = tables[15].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); EffectValues1 = new int[EffectValues1StringArray.Length]; for (int i=0;i(tables[17]); } else { string[] EffectValues2StringArray = tables[17].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); EffectValues2 = new int[EffectValues2StringArray.Length]; for (int i=0;i(tables[19]); } else { string[] EffectValues3StringArray = tables[19].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); EffectValues3 = new int[EffectValues3StringArray.Length]; for (int i=0;i(tables[22]); } else { string[] EnhanceSkillListStringArray = tables[22].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); EnhanceSkillList = new int[EnhanceSkillListStringArray.Length]; for (int i=0;i(tables[25]); } else { string[] ActiveFramesStringArray = tables[25].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); ActiveFrames = new int[ActiveFramesStringArray.Length]; for (int i=0;i(tables[31].Replace("(", "[").Replace(")", "]")); int.TryParse(tables[32],out BulletEffectId); int.TryParse(tables[33],out BulletPos); int.TryParse(tables[34],out BulletPath); int.TryParse(tables[35],out BulletFlyTime); int.TryParse(tables[36],out ExplosionEffectId); int.TryParse(tables[37],out ExplosionPos); SkillMotionName = tables[38]; int.TryParse(tables[39],out EffectId); int.TryParse(tables[40],out EffectPos); int.TryParse(tables[41],out EffectType); IconName = tables[42]; int.TryParse(tables[43],out ExplosionEffect2); } catch (Exception exception) { Debug.LogError(exception); } } }