| //--------------------------------------------------------  | 
| //    [Author]:           YYL  | 
| //    [  Date ]:           2025年9月2日  | 
| //--------------------------------------------------------  | 
|   | 
| using System.Collections.Generic;  | 
| using System;  | 
| using UnityEngine;  | 
| using LitJson;  | 
|   | 
| public partial class EffectConfig : ConfigBase<int, EffectConfig>  | 
| {  | 
|     static EffectConfig()  | 
|     {  | 
|         // 访问过静态构造函数  | 
|         visit = true;   | 
|     }  | 
|   | 
|     public int id;  | 
|     public string packageName;  | 
|     public int isSpine;  | 
|     public string fxName;  | 
|     public int[] animIndex;  | 
|     public int audio;  | 
|     public string nodeName;  | 
|     public int notShow;  | 
|     public int autoDestroy;  | 
|     public float destroyDelay;  | 
|     public int isLoop;  | 
|     public int frontBack;  | 
|     public float delayPlay;  | 
|     public int[] effectPos;  | 
|     public float effectScale;  | 
|   | 
|     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);   | 
|   | 
|             packageName = tables[1];  | 
|   | 
|             int.TryParse(tables[2],out isSpine);   | 
|   | 
|             fxName = tables[3];  | 
|   | 
|             if (tables[4].Contains("[")) | 
|             { | 
|                 animIndex = JsonMapper.ToObject<int[]>(tables[4]); | 
|             } | 
|             else | 
|             { | 
|                 string[] animIndexStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 animIndex = new int[animIndexStringArray.Length]; | 
|                 for (int i=0;i<animIndexStringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(animIndexStringArray[i],out animIndex[i]); | 
|                 } | 
|             }  | 
|   | 
|             int.TryParse(tables[5],out audio);   | 
|   | 
|             nodeName = tables[6];  | 
|   | 
|             int.TryParse(tables[7],out notShow);   | 
|   | 
|             int.TryParse(tables[8],out autoDestroy);   | 
|   | 
|             float.TryParse(tables[9],out destroyDelay);   | 
|   | 
|             int.TryParse(tables[10],out isLoop);   | 
|   | 
|             int.TryParse(tables[11],out frontBack);   | 
|   | 
|             float.TryParse(tables[12],out delayPlay);   | 
|   | 
|             if (tables[13].Contains("[")) | 
|             { | 
|                 effectPos = JsonMapper.ToObject<int[]>(tables[13]); | 
|             } | 
|             else | 
|             { | 
|                 string[] effectPosStringArray = tables[13].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 effectPos = new int[effectPosStringArray.Length]; | 
|                 for (int i=0;i<effectPosStringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(effectPosStringArray[i],out effectPos[i]); | 
|                 } | 
|             }  | 
|   | 
|             float.TryParse(tables[14],out effectScale);   | 
|         }  | 
|         catch (Exception exception)  | 
|         {  | 
|             Debug.LogError(exception);  | 
|         }  | 
|     }  | 
| }  |