From 340c905aeb2d12c091eb6a62fa1502d05a0d7c9f Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Fri, 20 Nov 2020 17:36:55 +0800 Subject: [PATCH] 一次性buff重复出现问题 --- Assets/Scripts/Data/EndlessBuffData.cs | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Assets/Scripts/Data/EndlessBuffData.cs b/Assets/Scripts/Data/EndlessBuffData.cs index 2a2200f..2b54726 100644 --- a/Assets/Scripts/Data/EndlessBuffData.cs +++ b/Assets/Scripts/Data/EndlessBuffData.cs @@ -74,6 +74,11 @@ private static List<EndlessBuffConfig> randomBuffList; /// <summary> + /// 一次性出现的buff id列表 + /// </summary> + private static List<int> removedIdList; + + /// <summary> /// 颜色品阶 /// </summary> /// <typeparam name="Color"></typeparam> @@ -90,6 +95,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 +137,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 +151,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 +183,6 @@ } randomBuffList = ret; - return ret; } -- Gitblit v1.9.1