//--------------------------------------------------------
|
// [Author]: YYL
|
// [ Date ]: Friday, August 22, 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 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 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 EffectID1);
|
|
if (tables[16].Contains("["))
|
{
|
EffectValues1 = JsonMapper.ToObject<int[]>(tables[16]);
|
}
|
else
|
{
|
string[] EffectValues1StringArray = tables[16].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[17],out EffectID2);
|
|
if (tables[18].Contains("["))
|
{
|
EffectValues2 = JsonMapper.ToObject<int[]>(tables[18]);
|
}
|
else
|
{
|
string[] EffectValues2StringArray = tables[18].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[19],out EffectID3);
|
|
if (tables[20].Contains("["))
|
{
|
EffectValues3 = JsonMapper.ToObject<int[]>(tables[20]);
|
}
|
else
|
{
|
string[] EffectValues3StringArray = tables[20].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[21],out ConnSkill);
|
|
int.TryParse(tables[22],out CoolDownTime);
|
|
if (tables[23].Contains("["))
|
{
|
EnhanceSkillList = JsonMapper.ToObject<int[]>(tables[23]);
|
}
|
else
|
{
|
string[] EnhanceSkillListStringArray = tables[23].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[24],out FightPower);
|
|
int.TryParse(tables[25],out StartupFrames);
|
|
if (tables[26].Contains("["))
|
{
|
ActiveFrames = JsonMapper.ToObject<int[]>(tables[26]);
|
}
|
else
|
{
|
string[] ActiveFramesStringArray = tables[26].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[27],out RecoveryFrames);
|
|
int.TryParse(tables[28],out LoopCount);
|
|
int.TryParse(tables[29],out CastPosition);
|
|
int.TryParse(tables[30],out CastIndexNum);
|
|
float.TryParse(tables[31],out CastDistance);
|
|
DamageDivide = JsonMapper.ToObject<int[][]>(tables[32].Replace("(", "[").Replace(")", "]"));
|
|
int.TryParse(tables[33],out BulletEffectId);
|
|
int.TryParse(tables[34],out BulletPos);
|
|
int.TryParse(tables[35],out BulletPath);
|
|
int.TryParse(tables[36],out BulletFlyTime);
|
|
int.TryParse(tables[37],out ExplosionEffectId);
|
|
int.TryParse(tables[38],out ExplosionPos);
|
|
SkillMotionName = tables[39];
|
|
int.TryParse(tables[40],out EffectId);
|
|
int.TryParse(tables[41],out EffectPos);
|
|
int.TryParse(tables[42],out EffectType);
|
|
IconName = tables[43];
|
|
int.TryParse(tables[44],out ExplosionEffect2);
|
}
|
catch (Exception exception)
|
{
|
Debug.LogError(exception);
|
}
|
}
|
}
|