| //-------------------------------------------------------- | 
| //    [Author]:           YYL | 
| //    [  Date ]:           Friday, June 27, 2025 | 
| //-------------------------------------------------------- | 
|   | 
| using System.Collections.Generic; | 
| using System.IO; | 
| using System.Threading; | 
| using System; | 
| using UnityEngine; | 
| using LitJson; | 
|   | 
| public partial class ItemConfig : ConfigBase<int, ItemConfig> | 
| { | 
|   | 
|     public int ID; | 
|     public int LV; | 
|     public string ItemName; | 
|     public int Type; | 
|     public int EquipPlace; | 
|     public int CanRepair; | 
|     public int PackCount; | 
|     public int UseLV; | 
|     public int CanSell; | 
|     public int CanTrade; | 
|     public int[] JumpComposeCondi; | 
|     public int CanDrop; | 
|     public int CanBind; | 
|     public int CDTypeEx; | 
|     public int CDType; | 
|     public int CDTime; | 
|     public int GoldPrice; | 
|     public int GoldPaperPrice; | 
|     public int SilverPrice; | 
|     public int UseTag; | 
|     public int Effect1; | 
|     public int EffectValueA1; | 
|     public int EffectValueB1; | 
|     public int EffectValueC1; | 
|     public int Effect2; | 
|     public int EffectValueA2; | 
|     public int EffectValueB2; | 
|     public int EffectValueC2; | 
|     public int Effect3; | 
|     public int EffectValueA3; | 
|     public int EffectValueB3; | 
|     public int EffectValueC3; | 
|     public int Effect4; | 
|     public int EffectValueA4; | 
|     public int EffectValueB4; | 
|     public int EffectValueC4; | 
|     public int Effect5; | 
|     public int EffectValueA5; | 
|     public int EffectValueB5; | 
|     public int EffectValueC5; | 
|     public int AddSkill1; | 
|     public int AddSkill2; | 
|     public int JobLimit; | 
|     public int RealmLimit; | 
|     public int ItemColor; | 
|     public int StarLevel; | 
|     public int MaxHoleCount; | 
|     public int CanBreak; | 
|     public int MaxEndure; | 
|     public int EndureReduceType; | 
|     public int BindType; | 
|     public int MaxSkillCnt; | 
|     public int ExpireTime; | 
|     public int MaxFitLV; | 
|     public int SuiteiD; | 
|     public string DropinstantEffName; | 
|     public string IconKey; | 
|     public int ChangeOrd; | 
|     public string Description; | 
|     public string QualityName; | 
|     public int QualityEchoType; | 
|     public int LimitSTR; | 
|     public int LimitPHY; | 
|     public int LimitPNE; | 
|     public string Template; | 
|     public int DropItemPattern; | 
|     public int SellTip; | 
|     public int BatchUse; | 
|     public int Jump; | 
|     public int[] GetWay; | 
|     public string ItemTypeName; | 
|     public int[] UseCondiType; | 
|     public int BaseEffectID; | 
|   | 
|     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 ID);  | 
|   | 
|             int.TryParse(tables[1],out LV);  | 
|   | 
|             ItemName = tables[2]; | 
|   | 
|             int.TryParse(tables[3],out Type);  | 
|   | 
|             int.TryParse(tables[4],out EquipPlace);  | 
|   | 
|             int.TryParse(tables[5],out CanRepair);  | 
|   | 
|             int.TryParse(tables[6],out PackCount);  | 
|   | 
|             int.TryParse(tables[7],out UseLV);  | 
|   | 
|             int.TryParse(tables[8],out CanSell);  | 
|   | 
|             int.TryParse(tables[9],out CanTrade);  | 
|   | 
|             if (tables[10].Contains("[")) | 
|             { | 
|                 JumpComposeCondi = JsonMapper.ToObject<int[]>(tables[10]); | 
|             } | 
|             else | 
|             { | 
|                 string[] JumpComposeCondiStringArray = tables[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 JumpComposeCondi = new int[JumpComposeCondiStringArray.Length]; | 
|                 for (int i=0;i<JumpComposeCondiStringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(JumpComposeCondiStringArray[i],out JumpComposeCondi[i]); | 
|                 } | 
|             } | 
|   | 
|             int.TryParse(tables[11],out CanDrop);  | 
|   | 
|             int.TryParse(tables[12],out CanBind);  | 
|   | 
|             int.TryParse(tables[13],out CDTypeEx);  | 
|   | 
|             int.TryParse(tables[14],out CDType);  | 
|   | 
|             int.TryParse(tables[15],out CDTime);  | 
|   | 
|             int.TryParse(tables[16],out GoldPrice);  | 
|   | 
|             int.TryParse(tables[17],out GoldPaperPrice);  | 
|   | 
|             int.TryParse(tables[18],out SilverPrice);  | 
|   | 
|             int.TryParse(tables[19],out UseTag);  | 
|   | 
|             int.TryParse(tables[20],out Effect1);  | 
|   | 
|             int.TryParse(tables[21],out EffectValueA1);  | 
|   | 
|             int.TryParse(tables[22],out EffectValueB1);  | 
|   | 
|             int.TryParse(tables[23],out EffectValueC1);  | 
|   | 
|             int.TryParse(tables[24],out Effect2);  | 
|   | 
|             int.TryParse(tables[25],out EffectValueA2);  | 
|   | 
|             int.TryParse(tables[26],out EffectValueB2);  | 
|   | 
|             int.TryParse(tables[27],out EffectValueC2);  | 
|   | 
|             int.TryParse(tables[28],out Effect3);  | 
|   | 
|             int.TryParse(tables[29],out EffectValueA3);  | 
|   | 
|             int.TryParse(tables[30],out EffectValueB3);  | 
|   | 
|             int.TryParse(tables[31],out EffectValueC3);  | 
|   | 
|             int.TryParse(tables[32],out Effect4);  | 
|   | 
|             int.TryParse(tables[33],out EffectValueA4);  | 
|   | 
|             int.TryParse(tables[34],out EffectValueB4);  | 
|   | 
|             int.TryParse(tables[35],out EffectValueC4);  | 
|   | 
|             int.TryParse(tables[36],out Effect5);  | 
|   | 
|             int.TryParse(tables[37],out EffectValueA5);  | 
|   | 
|             int.TryParse(tables[38],out EffectValueB5);  | 
|   | 
|             int.TryParse(tables[39],out EffectValueC5);  | 
|   | 
|             int.TryParse(tables[40],out AddSkill1);  | 
|   | 
|             int.TryParse(tables[41],out AddSkill2);  | 
|   | 
|             int.TryParse(tables[42],out JobLimit);  | 
|   | 
|             int.TryParse(tables[43],out RealmLimit);  | 
|   | 
|             int.TryParse(tables[44],out ItemColor);  | 
|   | 
|             int.TryParse(tables[45],out StarLevel);  | 
|   | 
|             int.TryParse(tables[46],out MaxHoleCount);  | 
|   | 
|             int.TryParse(tables[47],out CanBreak);  | 
|   | 
|             int.TryParse(tables[48],out MaxEndure);  | 
|   | 
|             int.TryParse(tables[49],out EndureReduceType);  | 
|   | 
|             int.TryParse(tables[50],out BindType);  | 
|   | 
|             int.TryParse(tables[51],out MaxSkillCnt);  | 
|   | 
|             int.TryParse(tables[52],out ExpireTime);  | 
|   | 
|             int.TryParse(tables[53],out MaxFitLV);  | 
|   | 
|             int.TryParse(tables[54],out SuiteiD);  | 
|   | 
|             DropinstantEffName = tables[55]; | 
|   | 
|             IconKey = tables[56]; | 
|   | 
|             int.TryParse(tables[57],out ChangeOrd);  | 
|   | 
|             Description = tables[58]; | 
|   | 
|             QualityName = tables[59]; | 
|   | 
|             int.TryParse(tables[60],out QualityEchoType);  | 
|   | 
|             int.TryParse(tables[61],out LimitSTR);  | 
|   | 
|             int.TryParse(tables[62],out LimitPHY);  | 
|   | 
|             int.TryParse(tables[63],out LimitPNE);  | 
|   | 
|             Template = tables[64]; | 
|   | 
|             int.TryParse(tables[65],out DropItemPattern);  | 
|   | 
|             int.TryParse(tables[66],out SellTip);  | 
|   | 
|             int.TryParse(tables[67],out BatchUse);  | 
|   | 
|             int.TryParse(tables[68],out Jump);  | 
|   | 
|             if (tables[69].Contains("[")) | 
|             { | 
|                 GetWay = JsonMapper.ToObject<int[]>(tables[69]); | 
|             } | 
|             else | 
|             { | 
|                 string[] GetWayStringArray = tables[69].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 GetWay = new int[GetWayStringArray.Length]; | 
|                 for (int i=0;i<GetWayStringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(GetWayStringArray[i],out GetWay[i]); | 
|                 } | 
|             } | 
|   | 
|             ItemTypeName = tables[70]; | 
|   | 
|             if (tables[71].Contains("[")) | 
|             { | 
|                 UseCondiType = JsonMapper.ToObject<int[]>(tables[71]); | 
|             } | 
|             else | 
|             { | 
|                 string[] UseCondiTypeStringArray = tables[71].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 UseCondiType = new int[UseCondiTypeStringArray.Length]; | 
|                 for (int i=0;i<UseCondiTypeStringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(UseCondiTypeStringArray[i],out UseCondiType[i]); | 
|                 } | 
|             } | 
|   | 
|             int.TryParse(tables[72],out BaseEffectID);  | 
|         } | 
|         catch (Exception exception) | 
|         { | 
|             Debug.LogError(exception); | 
|         } | 
|     } | 
| } |