/// <summary> Updates the creature's ongoing effects </summary> public void HandleBuffs(DwarfTime time) { if (BuffsToAdd == null) { BuffsToAdd = new List <Buff>(); } Buffs.AddRange(BuffsToAdd); BuffsToAdd.Clear(); foreach (Buff buff in Buffs) { buff.Update(time, this); } List <Buff> doneBuffs = Buffs.FindAll(buff => !buff.IsInEffect); foreach (Buff buff in doneBuffs) { buff.OnEnd(this); Buffs.Remove(buff); } }
public void StoreBuffs(Buff[] buffs) { Buffs.AddRange(buffs); }