From 0083101f1ac0bfae659d18ec7b8ad10e649d8db6 Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Tue, 24 Nov 2020 11:34:14 +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 dfed43a..53fb7d7 100644 --- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs +++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs @@ -54,14 +54,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); + } } } @@ -73,7 +76,7 @@ { BuffList.Remove(buff); EndlessBuff endlessBuff = GetBuffInstanceByType((EndlessBuffEffectType)buff.Config.buff_effect[0]); - endlessBuff.LoseEffect(); + endlessBuff?.LoseEffect(); } /// <summary> @@ -148,6 +151,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