From 90b098fe0b1219a4a2c23aef55a3e8366fd1fcdf Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Wed, 18 Nov 2020 12:29:52 +0800
Subject: [PATCH] 新增buff验证测试

---
 Assets/Scripts/Data/EndlessBuffData.cs |   62 +++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 3 deletions(-)

diff --git a/Assets/Scripts/Data/EndlessBuffData.cs b/Assets/Scripts/Data/EndlessBuffData.cs
index 91055e5..ae73e6e 100644
--- a/Assets/Scripts/Data/EndlessBuffData.cs
+++ b/Assets/Scripts/Data/EndlessBuffData.cs
@@ -42,6 +42,11 @@
         /// 可生效总波数,生命周期类型为n波内生效才有作用,否则没有意义
         /// </summary>
         public int TotalEffectWaves;
+
+        /// <summary>
+        /// 记录玩家选择该buff的次数
+        /// </summary>
+        public int SelectCount;
     }
 
     public class EndlessBuffData
@@ -67,6 +72,18 @@
         /// 保存随机出来的buff列表
         /// </summary>
         private static List<EndlessBuffConfig> randomBuffList;
+
+        /// <summary>
+        /// 颜色品阶
+        /// </summary>
+        /// <typeparam name="Color"></typeparam>
+        /// <returns></returns>
+        private static List<Color> rareColorList = new List<Color>()
+        {
+            new Color(118 / 255f, 1, 118 / 255f),
+            new Color(131 / 255f, 181 / 255f, 1),
+            new Color(220 / 255f, 112 / 255f, 1),
+        };
 
         public static void Init()
         {
@@ -96,9 +113,6 @@
                 }
                 allEndlessConfig.Add(newConfig);
             }
-
-            InitEndlessBuffPool(1);
-            GetRandomBuffList();
         }
 
         /// <summary>
@@ -119,6 +133,22 @@
             {
                 if (level >= allEndlessConfig[i].Config.down_level && level <= allEndlessConfig[i].Config.upper_level)
                     endlessBuffPool.Add(allEndlessConfig[i]);
+            }
+        }
+
+        /// <summary>
+        /// 从buff池中删除以后都不会再出现的buff
+        /// </summary>
+        /// <param name="id"></param>
+        public static void RemoveFromBuffPool(int id)
+        {
+            for (int i = 0; i < endlessBuffPool.Count; ++i)
+            {
+                if (endlessBuffPool[i].Config.id == id)
+                {
+                    endlessBuffPool.Remove(endlessBuffPool[i]);
+                    break;
+                }
             }
         }
 
@@ -163,5 +193,31 @@
         {
             return randomBuffList[index];
         }
+
+        /// <summary>
+        /// 根据buff配置表id获取buff数据
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public static EndlessBuffConfig GetBuffById(int id)
+        {
+            for (int i = 0; i < endlessBuffPool.Count; ++i)
+            {
+                if (endlessBuffPool[i].Config.id == id)
+                    return endlessBuffPool[i];
+            }
+
+            return null;
+        }
+
+        /// <summary>
+        /// 根据品质获得颜色值
+        /// </summary>
+        /// <param name="rare"></param>
+        /// <returns></returns>
+        public static Color GetColorByRare(int rare)
+        {
+            return rareColorList[rare - 1];
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1