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