Exemplo n.º 1
0
 public bool CanAddBuff(Buff buff)
 {
     if (buff.InstanceUnique)
     {
         foreach (var v in ActiveBuffs)
             if (v.InstanceGroup == buff.InstanceGroup)
                 return false;
     }
     return true;
 }
Exemplo n.º 2
0
 public void RemoveBuff(Buff buff)
 {
     ActiveBuffs.Remove(buff);
     if (IsInGame)
         buff.TryEndPerform(false);
 }
Exemplo n.º 3
0
 public bool AddBuff(Buff buff, Unit performer, GameEntity mediator)
 {
     if (!CanAddBuff(buff)) return false;
     buff.Performer = performer;
     buff.Mediator = mediator;
     if (IsInGame)
     {
         if (CanAddBuff(buff))
         {
             buff.TargetPosition = this.Position;
             buff.TargetEntity = this;
             if(buff.TryStartPerform())
                 ActiveBuffs.Add(buff);
         }
     }
     else
         ActiveBuffs.Add(buff);
     return true;
 }