private static IEnumerable <Targets.Item> GetOrderedChampions(List <Targets.Item> items)
        {
            try
            {
                switch (Mode)
                {
                case TargetSelectorModeType.Weights:
                    return(Weights.OrderChampions(items));

                case TargetSelectorModeType.Priorities:
                    return(Priorities.OrderChampions(items));

                case TargetSelectorModeType.LessAttacksToKill:
                    return(items.OrderBy(x => x.Hero.Health / ObjectManager.Player.TotalAttackDamage));

                case TargetSelectorModeType.MostAbilityPower:
                    return(items.OrderByDescending(x => x.Hero.TotalMagicalDamage));

                case TargetSelectorModeType.MostAttackDamage:
                    return(items.OrderByDescending(x => x.Hero.TotalAttackDamage));

                case TargetSelectorModeType.Closest:
                    return(items.OrderBy(x => x.Hero.Distance(ObjectManager.Player)));

                case TargetSelectorModeType.NearMouse:
                    return(items.OrderBy(x => x.Hero.Distance(Game.CursorPos)));

                case TargetSelectorModeType.LessCastPriority:
                    return(items.OrderBy(x => x.Hero.Health / ObjectManager.Player.TotalMagicalDamage));

                case TargetSelectorModeType.LeastHealth:
                    return(items.OrderBy(x => x.Hero.Health));
                }
            }
            catch (Exception ex)
            {
                Global.Logger.AddItem(new LogItem(ex));
            }
            return(new List <Targets.Item>());
        }