/*public void add(StatusHolder holder) * { * holder._modifierList.Add(this); * holder.savable=true; * // ((Status)holder.getStatus<T>()).apply(_modifier); * // status.variable.Modifiers.Add(modifier); * // parameter.variable.Modifiers.Add(modifier); * }*/ public virtual void remove(IStatusHolder holder) { (holder.getStatus <T>()).remove(_modifier, type); //holder._modifierList.Remove(this); // status.variable.Modifiers.Add(modifier); // parameter.variable.Modifiers.Add(modifier); }
public virtual void apply(IStatusHolder holder) { //UnityEngine.Debug.Log(this.ToString()); // holder._modifierList.Add(this); (holder.getStatus <T>()).apply(_modifier, type); if (LinkOnChanged != null) { LinkOnChanged(holder.getStatus <T>()); LinkOnChanged = null; } // status.variable.Modifiers.Add(modifier); // parameter.variable.Modifiers.Add(modifier); }
public override void remove(IStatusHolder holder) { if (holder as StatusHolder != null) { ((StatusHolder)holder)._modifierList.Remove(this); } else if (holder as ElementsHolder != null) { ((ElementsHolder)holder)._modifierList.Remove(this); } else { throw new Exception(); } base.remove(holder); }
public void remove(IStatusHolder holder) { if (_suffixList != null) { foreach (var item in _suffixList) { //Debug.Log(item.text); item.modifier.remove(holder); } } if (_prefixList != null) { foreach (var item in _prefixList) { item.modifier.remove(holder); } } }