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];
        }
    }