public void AddToStack(StackableEffect stackEffect) { var modifer = stackEffect.modifer; var newModifer = new StatModifer(modifer.Value, modifer.Type, modifer.Order, modifer.Source); var stacks = stackableEffects[stackEffect]; if (stacks != null) { entity.AddStatModifer(newModifer, stackEffect.attriEnum); stacks.Push(newModifer); } }
public void AddNewStackEffect(StackableEffect stackEffect, int maxStacks) { Stack <StatModifer> stacks = new Stack <StatModifer>(maxStacks); if (!stackableEffects.ContainsKey(stackEffect)) { stackableEffects.Add(stackEffect, stacks); } else { stackableEffects[stackEffect] = stacks; } AddToStack(stackEffect); }
public void RemoveStackEffect(StackableEffect stackEffect) { stackableEffects.Remove(stackEffect); }