From 3ff709247a18476b484a5a0446ee47f1b68de05c Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Tue, 24 Nov 2020 18:08:10 +0800
Subject: [PATCH] 新增buff  玉米精灵蓄力时间减少 玉米精灵强化子弹蓄力,瞄准 修复了购买按钮文字显示出错问题

---
 Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs
index dfed43a..2cc9b54 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs
@@ -36,6 +36,7 @@
                 new SlowDown(),
                 new FireRateAdd(),
                 new SkillLevelUp(),
+                new DecreaseWoodChargeTime(),
             };
         }
 
@@ -54,14 +55,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 +77,7 @@
         {
             BuffList.Remove(buff);
             EndlessBuff endlessBuff = GetBuffInstanceByType((EndlessBuffEffectType)buff.Config.buff_effect[0]);
-            endlessBuff.LoseEffect();
+            endlessBuff?.LoseEffect();
         }
 
         /// <summary>
@@ -148,6 +152,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