From eafd6cb0118f2732a50b2ae8c6e3f95eac1370d7 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 26 六月 2019 16:22:36 +0800
Subject: [PATCH] 7539 子 【开发】【2.0.100】增加自由设置技能释放顺序 / 【前端】【2.0.100】增加自由设置技能释放顺序

---
 System/Skill/QuickSetting.cs |   43 ++++++++++++++++++++++++++++---------------
 1 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/System/Skill/QuickSetting.cs b/System/Skill/QuickSetting.cs
index 9cc0610..7574b86 100644
--- a/System/Skill/QuickSetting.cs
+++ b/System/Skill/QuickSetting.cs
@@ -13,12 +13,11 @@
 {
     public QuickSetting()
     {
-        quickSettingDic.Add(QuickSettingType.Skill, new QuickSettingRange(QuickSettingType.Skill, 30, 3));
-        quickSettingDic.Add(QuickSettingType.FairyLeagueGuide, new QuickSettingRange(QuickSettingType.FairyLeagueGuide, 1));
-        quickSettingDic.Add(QuickSettingType.AutoUseXp, new QuickSettingRange(QuickSettingType.AutoUseXp, 1));
-        quickSettingDic.Add(QuickSettingType.SpAnim, new QuickSettingRange(QuickSettingType.SpAnim, 10));
-        quickSettingDic.Add(QuickSettingType.TreasureHighestAnim, new QuickSettingRange(QuickSettingType.TreasureHighestAnim, 10));
-        quickSettingDic.Add(QuickSettingType.GatherSoulAutoResolve, new QuickSettingRange(QuickSettingType.GatherSoulAutoResolve, 1));
+        quickSettingDic.Add(QuickSettingType.Skill, new QuickSettingRange(QuickSettingType.Skill, 0, 30, 3));
+        quickSettingDic.Add(QuickSettingType.SkillMatchPage, new QuickSettingRange(QuickSettingType.SkillMatchPage, 30, 1));
+        quickSettingDic.Add(QuickSettingType.AutoUseXp, new QuickSettingRange(QuickSettingType.AutoUseXp, 31, 1));
+        quickSettingDic.Add(QuickSettingType.SkillMatch, new QuickSettingRange(QuickSettingType.SkillMatch, 32, 45, 1));
+        quickSettingDic.Add(QuickSettingType.GatherSoulAutoResolve, new QuickSettingRange(QuickSettingType.GatherSoulAutoResolve, 80, 1));
         setting = new string(UCharacter, 100);
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
     }
@@ -28,6 +27,8 @@
     private string setting;
     private StringBuilder textBuilder = new StringBuilder();
 
+    public event Action onQuickSettingUpdate;
+
     public void SetQuickSetting<T>(QuickSettingType type, T value, int index = 0) where T : struct
     {
         SetQuickSetting(type, value.ToString(), index);
@@ -36,10 +37,16 @@
     {
         SetQuickSetting<int>(type, value ? 1 : 0, index);
     }
+
+    public void SetQuickSetting(int type, string value, int index)
+    {
+        SetQuickSetting((QuickSettingType)type, value, index);
+    }
+
     public void SetQuickSetting(QuickSettingType type, string value, int index)
     {
         var quickRange = quickSettingDic[type];
-        if (index * quickRange.single + value.Length > quickRange.length || value.Length > quickRange.single)
+        if ((index - quickRange.index) * quickRange.single + value.Length > quickRange.length || value.Length > quickRange.single)
         {
             DebugEx.LogErrorFormat("瀛樺偍鐨勬暟鎹秴杩囨渶澶ч暱搴�!{0}", type);
             return;
@@ -71,6 +78,11 @@
             PlayerDatas.Instance.baseData.Setting = setting;
         }
         PlayerDatas.Instance.skill.SetQuickSkills();
+
+        if (onQuickSettingUpdate != null)
+        {
+            onQuickSettingUpdate();
+        }
     }
 
     public T GetQuickSettingValue<T>(QuickSettingType type, int index) where T : struct
@@ -102,6 +114,11 @@
         return _value == 1;
     }
 
+    public string GetQuickSetting(int type, int index)
+    {
+        return GetQuickSetting((QuickSettingType)type, index);
+    }
+
     public void SendPackage()
     {
         C0303_tagCSetShutCutData vNetData = new C0303_tagCSetShutCutData();
@@ -119,28 +136,24 @@
     public enum QuickSettingType
     {
         Skill,
-        FairyLeagueGuide,
+        SkillMatchPage,
         AutoUseXp,
-        SpAnim,
-        TreasureHighestAnim,
+        SkillMatch,
         GatherSoulAutoResolve
     }
     public struct QuickSettingRange
     {
-        private static int presentIndex = 0;
-
         public QuickSettingType type;
         public int index;
         public int length;
         public int single;
 
-        public QuickSettingRange(QuickSettingType type, int length, int single = 0)
+        public QuickSettingRange(QuickSettingType type, int start, int length, int single = 0)
         {
             this.type = type;
-            this.index = presentIndex;
+            this.index = start;
             this.length = length;
             this.single = single == 0 ? length : single;
-            presentIndex += length;
         }
     }
 }

--
Gitblit v1.8.0