public override TargetResult Target(Minion _me, PositionVO _target)
 {
     if(false)// (_target.PlayerType == _me.PlayerType)
     {
         return TargetResult.SamePlayer;
     }
     else
     {
         Minion tMinion = MinionManager.Instance.GetMinionByPosition(_target);
         if (tMinion == null)
         {
             return TargetResult.InvalidTarget;
         }
         else
         {
             if(false) //(_me.MinionSlotPosition == MinionSlotPosition.Backward)
             {
                 return TargetResult.OutOfRange;
             }
             else
             {
                 if (false)//(_target.MinionSlotPosition == MinionSlotPosition.Foreward)
                 {
                     if(IsGuardOrNoOtherGuardInFrontline(_target))
                     {
                         return TargetResult.ValidTarget;
                     }
                     else
                     {
                         return TargetResult.TargetGuarded;
                     }
                 }
                 else
                 {
                     if(_me.ContainBuff(BuffName.Rooted) || _me.ContainBuff(BuffName.Slowed))
                     {
                         return TargetResult.OutOfRange;
                     }
                     else
                     {
                         //if (NoOtherGuardInFrontline(_target))
                         if (NoOtherMinionInFrontline(_target))
                         {
                             return TargetResult.CloseRangeTargetBack;
                         }
                         else
                         {
                             return TargetResult.TargetGuarded;
                         }
                     }
                 }
             }
         }
     }
 }