chenxin
2020-11-17 344267a8edb7bc6eaa67a0493292f438d31ca20e
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,15 @@
        {
            return randomBuffList[index];
        }
        /// <summary>
        /// 根据品质获得颜色值
        /// </summary>
        /// <param name="rare"></param>
        /// <returns></returns>
        public static Color GetColorByRare(int rare)
        {
            return rareColorList[rare - 1];
        }
    }
}