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