| //-------------------------------------------------------- | 
| //    [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 GuideConfig : ConfigBase<int, GuideConfig> | 
| { | 
|   | 
|     public int ID; | 
|     public int Type; | 
|     public int TriggerType; | 
|     public int Condition; | 
|     public int SupplementCondition; | 
|     public int PreGuideId; | 
|     public int[] Steps; | 
|     public int CanSkip; | 
|     public int RemoveWhenOtherGuide; | 
|     public int CannotCompleteByClick; | 
|     public int[] UnfoldAreas; | 
|     public int AutoCompleteTime; | 
|   | 
|     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 Type);  | 
|   | 
|             int.TryParse(tables[2],out TriggerType);  | 
|   | 
|             int.TryParse(tables[3],out Condition);  | 
|   | 
|             int.TryParse(tables[4],out SupplementCondition);  | 
|   | 
|             int.TryParse(tables[5],out PreGuideId);  | 
|   | 
|             if (tables[6].Contains("[")) | 
|             { | 
|                 Steps = JsonMapper.ToObject<int[]>(tables[6]); | 
|             } | 
|             else | 
|             { | 
|                 string[] StepsStringArray = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 Steps = new int[StepsStringArray.Length]; | 
|                 for (int i=0;i<StepsStringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(StepsStringArray[i],out Steps[i]); | 
|                 } | 
|             } | 
|   | 
|             int.TryParse(tables[7],out CanSkip);  | 
|   | 
|             int.TryParse(tables[8],out RemoveWhenOtherGuide);  | 
|   | 
|             int.TryParse(tables[9],out CannotCompleteByClick);  | 
|   | 
|             if (tables[10].Contains("[")) | 
|             { | 
|                 UnfoldAreas = JsonMapper.ToObject<int[]>(tables[10]); | 
|             } | 
|             else | 
|             { | 
|                 string[] UnfoldAreasStringArray = tables[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); | 
|                 UnfoldAreas = new int[UnfoldAreasStringArray.Length]; | 
|                 for (int i=0;i<UnfoldAreasStringArray.Length;i++) | 
|                 { | 
|                      int.TryParse(UnfoldAreasStringArray[i],out UnfoldAreas[i]); | 
|                 } | 
|             } | 
|   | 
|             int.TryParse(tables[11],out AutoCompleteTime);  | 
|         } | 
|         catch (Exception exception) | 
|         { | 
|             Debug.LogError(exception); | 
|         } | 
|     } | 
| } |