From 5caa573ce573fa0427845b2224b3a6005781e80e Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Tue, 24 Nov 2020 11:33:40 +0800 Subject: [PATCH] 放置丢塔问题 --- Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs index 2e930ee..229a175 100644 --- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs +++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs @@ -53,14 +53,17 @@ BuffList.Add(buff); EndlessBuff endlessBuff = GetBuffInstanceByType((EndlessBuffEffectType)buff.Config.buff_effect[0]); - endlessBuff.BuffList.Add(buff); - endlessBuff.Handle(); - - // 如果是一次性生效的buff,直接移除掉 - if (buff.LifeCycleType == EndlessBuffLifeCycleType.Once) + if (endlessBuff != null) { - endlessBuff.BuffList.Remove(buff); - RemoveBuff(buff); + endlessBuff.BuffList.Add(buff); + endlessBuff.Handle(); + + // 如果是一次性生效的buff,直接移除掉 + if (buff.LifeCycleType == EndlessBuffLifeCycleType.Once) + { + endlessBuff.BuffList.Remove(buff); + RemoveBuff(buff); + } } } @@ -72,7 +75,7 @@ { BuffList.Remove(buff); EndlessBuff endlessBuff = GetBuffInstanceByType((EndlessBuffEffectType)buff.Config.buff_effect[0]); - endlessBuff.LoseEffect(); + endlessBuff?.LoseEffect(); } /// <summary> @@ -147,6 +150,9 @@ /// <returns></returns> public EndlessBuff GetBuffInstanceByType(EndlessBuffEffectType type) { + int tmp = (int)type - 1; + if ((int)type - 1 >= instanceList.Count) return null; + return instanceList[(int)type - 1]; } } -- Gitblit v1.9.1