From 51b0f6ed9f4e1d3bb6f8144470b46908c7699a96 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 11 五月 2026 16:20:37 +0800
Subject: [PATCH] Merge branch 'master' into h5version

---
 Main/Config/PartialConfigs/SkillConfig.Partial.cs |   88 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 82 insertions(+), 6 deletions(-)

diff --git a/Main/Config/PartialConfigs/SkillConfig.Partial.cs b/Main/Config/PartialConfigs/SkillConfig.Partial.cs
index 7e5d604..764dd5d 100644
--- a/Main/Config/PartialConfigs/SkillConfig.Partial.cs
+++ b/Main/Config/PartialConfigs/SkillConfig.Partial.cs
@@ -9,16 +9,92 @@
 using System;
 using UnityEngine;
 using LitJson;
+using System.Linq;
 
 public partial class SkillConfig : ConfigBase<int, SkillConfig>
 {
-	public SkillType skillType;
-	public SkillCastMode castMode;
-	public SkillEffectType effectType;
-	public SkillEffectAnchor effectAnchor;
+//澧炵泭锛� 3 5
+// 鍑忕泭锛� 4 6 14
 
-	public MotionName GetMotionName()
+	public static readonly int[] GainSkillType = new int[] { 3, 5 }; // 1-鏅�氭敾鍑� 2-琚姩鎶�鑳� 3-涓撳睘鎶�鑳�
+
+	public static readonly int[] DebuffSkillType = new int[] { 4, 6, 14 };
+
+	public SkillType skillType;
+
+	protected SkillSkinConfig originSkinConfig;
+
+	//鎶�鑳界被鍨嬶細鎶�鑳界瓑绾э細鎶�鑳�
+	static Dictionary<int, Dictionary<int, SkillConfig>> skillDics = new Dictionary<int, Dictionary<int, SkillConfig>>();
+	protected override void OnConfigParseCompleted()
 	{
-		return Enum.Parse<MotionName>(SkillMotionName);
+		base.OnConfigParseCompleted();
+
+		skillType = (SkillType)SkillType;
+
+		Dictionary<int, SkillConfig> tempDic = null;
+		if (!skillDics.TryGetValue((int)skillType, out tempDic))
+		{
+			tempDic = new Dictionary<int, SkillConfig>();
+			skillDics.Add((int)skillType, tempDic);
+		}
+		tempDic[SkillLV] = this;
 	}
+
+	public SkillSkinConfig GetSkillSkinConfig(int skinID)
+	{
+		string key = skinID.ToString() + SkillID.ToString();
+
+		SkillSkinConfig skillSkinConfig = SkillSkinConfig.Get(key);
+
+		if (null == skillSkinConfig)
+		{
+			return GetOriginSkinConfig();
+		}
+		else
+		{
+			return skillSkinConfig;
+		}
+	} 
+
+	public SkillSkinConfig GetOriginSkinConfig()
+	{
+		if (originSkinConfig == null)
+		{
+			originSkinConfig = SkillSkinConfig.Get(SkillID.ToString());
+		}
+		if (null == originSkinConfig)
+		{
+			Debug.LogError("鎵句笉鍒版妧鑳界毊鑲ら厤缃� " + SkillID);
+			return null;
+		}
+		else
+		{
+			return originSkinConfig;
+		}
+	}
+
+	public bool IsGainBuff()
+    {
+        return Array.Exists(GainSkillType, type => type == (int)skillType);
+    }
+
+	public bool IsDebuff()
+    {
+        return Array.Exists(DebuffSkillType, type => type == (int)skillType);
+    }
+
+	public static SkillConfig GetSkillConfig(int skillType, int skillLv)
+	{
+		Dictionary<int, SkillConfig> tempDic = null;
+		if (!skillDics.TryGetValue(skillType, out tempDic))
+		{
+			return null;
+		}
+		SkillConfig config = null;
+		tempDic.TryGetValue(skillLv, out config);
+		return config;
+	}
+
+
 }

--
Gitblit v1.8.0