public void AddPassive(ScriptableModifier passiveModifier) { if (!activePassiveModifiers.ContainsKey(passiveModifier)) { Modifier passive = new Modifier(passiveModifier, characterBase); passive.IsPassive = true; passive.Apply(characterBase); activePassiveModifiers.Add(passiveModifier, passive); } }
public bool RemovePassive(ScriptableModifier passiveModifier) { if (activePassiveModifiers.ContainsKey(passiveModifier)) { activePassiveModifiers[passiveModifier].Remove(characterBase); activePassiveModifiers.Remove(passiveModifier); return(true); } return(false); }
public bool RemovePassive(string passiveName) { ScriptableModifier modifierToRemove = null; foreach (var passiveModifier in activePassiveModifiers) { if (passiveModifier.Key.ModifierName == passiveName) { passiveModifier.Value.Remove(characterBase); modifierToRemove = passiveModifier.Key; break; } } if (modifierToRemove != null) { return(activePassiveModifiers.Remove(modifierToRemove)); } return(false); }