public T[] GetExecuteSelection <T>(T[] content, EnumSortDirect sortDirect, EnumSpeed speed = EnumSpeed.Fast) { if (speed == EnumSpeed.Slow || speed == EnumSpeed.Middle) { return(GetExecuteSelectionMiddle(content, sortDirect)); } return(GetExecuteSelectionFast(content, sortDirect)); }
/// <summary> /// Execute selection method. /// </summary> /// <param name="content"></param> /// <param name="sortDirect"></param> /// <param name="speed"></param> public void ExecuteSelection(int?[] content, EnumSortDirect sortDirect, EnumSpeed speed = EnumSpeed.Fast) { if (speed == EnumSpeed.Slow) { ExecuteSelectionSlow(content, sortDirect); } else if (speed == EnumSpeed.Middle) { ExecuteSelectionMiddle(content, sortDirect); } else { ExecuteSelectionFast(content, sortDirect); } }
/// <summary> /// Méthode Speed /// Détermine la vitesse d'un sprite /// 7 etats : hardlySlow,VerySlow, slow, Static, quicky, veryQuicky, Panic /// </summary> /// <param name="selected_speed"></param> /// <returns></returns> public float[] Speed(EnumSpeed selected_speed) { float[] arrayLerp = new float[0]; switch (selected_speed.ToString()) { case "hardlySlow": arrayLerp = GenLerpArray(101, 0.01f); break; case "slow": arrayLerp = GenLerpArray(26, 0.04f); break; case "VerySlow": arrayLerp = GenLerpArray(51, 0.02f); break; case "quicky": arrayLerp = GenLerpArray(21, 0.05f); break; case "veryQuicky": arrayLerp = GenLerpArray(11, 0.1f); break; case "Panic": arrayLerp = GenLerpArray(6, 0.2f); break; default: arrayLerp = GenLerpArray(1, 1f); break; } return(arrayLerp); }
/// <summary> /// Execute method. Fast - for & foreach. Slow - recursion. /// </summary> /// <param name="list"></param> /// <param name="speed"></param> /// <returns></returns> public int Execute(IEnumerable <int?> list, EnumSpeed speed = EnumSpeed.Fast) { return(speed == EnumSpeed.Slow ? ExecuteRecursive(list) : ExecuteForeach(list)); }
/// <summary> /// Execute method. Fast - for & foreach. Slow - recursion. /// </summary> /// <param name="arr"></param> /// <param name="speed"></param> /// <returns></returns> public int Execute(int?[] arr, EnumSpeed speed = EnumSpeed.Fast) { return(speed == EnumSpeed.Slow ? ExecuteRecursive(arr) : ExecuteForeach(arr)); }
/// <summary> /// Quick execute method. /// </summary> /// <param name="content"></param> /// <param name="sortDirect"></param> /// <param name="speed"></param> /// <param name="useSwitchPivot"></param> /// <returns></returns> public IEnumerable <int?> GetExecuteQuick(int?[] content, EnumSortDirect sortDirect, EnumSpeed speed = EnumSpeed.Fast, bool useSwitchPivot = false) { if (speed == EnumSpeed.Slow) { return(GetExecuteQuickRecursiveSlow(content.ToList(), sortDirect)); } return(useSwitchPivot ? GetExecuteQuickRecursiveFastWithSwitchPivot(content, sortDirect) : GetExecuteQuickRecursiveFast(content, sortDirect)); }