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