wangguan
2020-12-15 0d6a2e6d4b9de57a13c2bcb32148e1eb97ef1b1f
Assets/Scripts/Data/EndlessBuffData.cs
@@ -44,7 +44,7 @@
        public int TotalEffectWaves;
        /// <summary>
        /// 记录玩家选择该buff的次数
        /// 记录被玩家选择的次数
        /// </summary>
        public int SelectCount;
    }
@@ -74,15 +74,21 @@
        private static List<EndlessBuffConfig> randomBuffList;
        /// <summary>
        /// 被移除掉的buff id 列表
        /// </summary>
        private static List<int> removedIdList;
        /// <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),
            new Color(68f / 255f, 148f / 255f, 57f / 255f),
            new Color(74f / 255f, 124f / 255f, 207f / 255f),
            new Color(149f / 255f, 79f / 255f, 214f / 255f),
            new Color(220f / 255f, 96f / 255f, 63f / 255f),
        };
        public static void Init()
@@ -90,6 +96,7 @@
            endlessBuffList = JsonDataCenter.GetList<endless_buff>();
            allEndlessConfig = new List<EndlessBuffConfig>();
            randomBuffList = new List<EndlessBuffConfig>();
            removedIdList = new List<int>();
            random = new System.Random();
            foreach (endless_buff data in endlessBuffList)
@@ -131,6 +138,9 @@
            for (int i = 0; i < allEndlessConfig.Count; ++i)
            {
                // 如果是一次性的buff就不再出现了
                if (removedIdList.Contains(allEndlessConfig[i].Config.id)) continue;
                if (level >= allEndlessConfig[i].Config.down_level && level <= allEndlessConfig[i].Config.upper_level)
                    endlessBuffPool.Add(allEndlessConfig[i]);
            }
@@ -142,14 +152,7 @@
        /// <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;
                }
            }
            removedIdList.Add(id);
        }
        /// <summary>
@@ -181,7 +184,6 @@
            }
            randomBuffList = ret;
            return ret;
        }
@@ -201,10 +203,10 @@
        /// <returns></returns>
        public static EndlessBuffConfig GetBuffById(int id)
        {
            for (int i = 0; i < endlessBuffPool.Count; ++i)
            for (int i = 0; i < allEndlessConfig.Count; ++i)
            {
                if (endlessBuffPool[i].Config.id == id)
                    return endlessBuffPool[i];
                if (allEndlessConfig[i].Config.id == id)
                    return allEndlessConfig[i];
            }
            return null;