Ejemplo n.º 1
0
 /*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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 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);
         }
     }
 }