From b97ca7fc69d2cddeaf1af2d4e59ba4b413034784 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 12 三月 2026 16:51:46 +0800
Subject: [PATCH] 59 邮件系统-客户端  邮件标题支持参数匹配

---
 Main/Config/Configs/HeroConfig.cs |  233 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 145 insertions(+), 88 deletions(-)

diff --git a/Main/Config/Configs/HeroConfig.cs b/Main/Config/Configs/HeroConfig.cs
index ebc43bf..4b6c0bd 100644
--- a/Main/Config/Configs/HeroConfig.cs
+++ b/Main/Config/Configs/HeroConfig.cs
@@ -1,104 +1,161 @@
-锘�//--------------------------------------------------------
-//    [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 HeroConfig : ConfigBase<int, HeroConfig>
-{
-
-    public int HeroID;
-	public int Country;
-	public int Quality;
-	public int[] SkinNPCIDList;
-	public int AtkSkillID;
-	public int AngerSkillID;
-	public int AtkInheritPer;
-	public int DefInheritPer;
-	public int HPInheritPer;
-	public string BatAttrDict;
-	public int[] FetterIDList;
-	public string Tachie;
-	public string SquareIcon;
-	public string RectangleIcon;
-	public string SpineRes;
-	public string BigSizeSpine;
-
-    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 HeroID); 
-
-			int.TryParse(tables[1],out Country); 
-
-			int.TryParse(tables[2],out Quality); 
-
-			if (tables[3].Contains("["))
+锘�//--------------------------------------------------------
+//    [Author]:           YYL
+//    [  Date ]:           Friday, March 6, 2026
+//--------------------------------------------------------
+
+using System.Collections.Generic;
+using System;
+using UnityEngine;
+using LitJson;
+
+public partial class HeroConfig : ConfigBase<int, HeroConfig>
+{
+    static HeroConfig()
+    {
+        // 璁块棶杩囬潤鎬佹瀯閫犲嚱鏁�
+        visit = true; 
+    }
+
+    public int HeroID;
+	public string Name;
+	public int PlayerCanUse;
+	public int OpenCollectionDay;
+	public int IsActLimit;
+	public int Country;
+	public int Quality;
+	public int Class;
+	public int Position;
+	public int[] SkinIDList;
+	public int AtkSkillID;
+	public int AngerSkillID;
+	public int DeathSFX;
+	public int HitSFX;
+	public int AtkInheritPer;
+	public int DefInheritPer;
+	public int HPInheritPer;
+	public Dictionary<int, int> BatAttrDict;
+	public int[] FetterIDList;
+	public float UIScale;
+	public string Desc;
+	public int RecruitBySelf;
+	public int Specialty;
+	public int HurtType;
+	public int[] Specialty2;
+	public int[] TalentList;
+
+    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 HeroID); 
+
+			Name = tables[1];
+
+			int.TryParse(tables[2],out PlayerCanUse); 
+
+			int.TryParse(tables[3],out OpenCollectionDay); 
+
+			int.TryParse(tables[4],out IsActLimit); 
+
+			int.TryParse(tables[5],out Country); 
+
+			int.TryParse(tables[6],out Quality); 
+
+			int.TryParse(tables[7],out Class); 
+
+			int.TryParse(tables[8],out Position); 
+
+			if (tables[9].Contains("["))
 			{
-				SkinNPCIDList = JsonMapper.ToObject<int[]>(tables[3]);
+				SkinIDList = JsonMapper.ToObject<int[]>(tables[9]);
 			}
 			else
 			{
-				string[] SkinNPCIDListStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				SkinNPCIDList = new int[SkinNPCIDListStringArray.Length];
-				for (int i=0;i<SkinNPCIDListStringArray.Length;i++)
+				string[] SkinIDListStringArray = tables[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				SkinIDList = new int[SkinIDListStringArray.Length];
+				for (int i=0;i<SkinIDListStringArray.Length;i++)
 				{
-					 int.TryParse(SkinNPCIDListStringArray[i],out SkinNPCIDList[i]);
+					 int.TryParse(SkinIDListStringArray[i],out SkinIDList[i]);
 				}
-			}
-
-			int.TryParse(tables[4],out AtkSkillID); 
-
-			int.TryParse(tables[5],out AngerSkillID); 
-
-			int.TryParse(tables[6],out AtkInheritPer); 
-
-			int.TryParse(tables[7],out DefInheritPer); 
-
-			int.TryParse(tables[8],out HPInheritPer); 
-
-			BatAttrDict = tables[9];
-
-			if (tables[10].Contains("["))
+			}
+
+			int.TryParse(tables[10],out AtkSkillID); 
+
+			int.TryParse(tables[11],out AngerSkillID); 
+
+			int.TryParse(tables[12],out DeathSFX); 
+
+			int.TryParse(tables[13],out HitSFX); 
+
+			int.TryParse(tables[14],out AtkInheritPer); 
+
+			int.TryParse(tables[15],out DefInheritPer); 
+
+			int.TryParse(tables[16],out HPInheritPer); 
+
+			BatAttrDict = ConfigParse.ParseIntDict(tables[17]); 
+
+			if (tables[18].Contains("["))
 			{
-				FetterIDList = JsonMapper.ToObject<int[]>(tables[10]);
+				FetterIDList = JsonMapper.ToObject<int[]>(tables[18]);
 			}
 			else
 			{
-				string[] FetterIDListStringArray = tables[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] FetterIDListStringArray = tables[18].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				FetterIDList = new int[FetterIDListStringArray.Length];
 				for (int i=0;i<FetterIDListStringArray.Length;i++)
 				{
 					 int.TryParse(FetterIDListStringArray[i],out FetterIDList[i]);
 				}
+			}
+
+			float.TryParse(tables[19],out UIScale); 
+
+			Desc = tables[20];
+
+			int.TryParse(tables[21],out RecruitBySelf); 
+
+			int.TryParse(tables[22],out Specialty); 
+
+			int.TryParse(tables[23],out HurtType); 
+
+			if (tables[24].Contains("["))
+			{
+				Specialty2 = JsonMapper.ToObject<int[]>(tables[24]);
 			}
-
-			Tachie = tables[11];
-
-			SquareIcon = tables[12];
-
-			RectangleIcon = tables[13];
-
-			SpineRes = tables[14];
-
-			BigSizeSpine = tables[15];
-        }
-        catch (Exception exception)
-        {
-            Debug.LogError(exception);
-        }
-    }
-}
+			else
+			{
+				string[] Specialty2StringArray = tables[24].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				Specialty2 = new int[Specialty2StringArray.Length];
+				for (int i=0;i<Specialty2StringArray.Length;i++)
+				{
+					 int.TryParse(Specialty2StringArray[i],out Specialty2[i]);
+				}
+			}
+
+			if (tables[25].Contains("["))
+			{
+				TalentList = JsonMapper.ToObject<int[]>(tables[25]);
+			}
+			else
+			{
+				string[] TalentListStringArray = tables[25].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				TalentList = new int[TalentListStringArray.Length];
+				for (int i=0;i<TalentListStringArray.Length;i++)
+				{
+					 int.TryParse(TalentListStringArray[i],out TalentList[i]);
+				}
+			}
+        }
+        catch (Exception exception)
+        {
+            Debug.LogError(exception);
+        }
+    }
+}

--
Gitblit v1.8.0