public override void SetImpact(ChampionshipRules inRules) { List <float> floatList = new List <float>(); int teamEntryCount = inRules.championship.standings.teamEntryCount; int prizeFund = inRules.championship.prizeFund; float num1 = (1f - this.poolPercentageSplit01).Clamp(0f, 1f) * (float)prizeFund / (float)teamEntryCount; float num2 = this.poolPercentageSplit01 * (float)prizeFund; float num3 = 0.0f; for (int index = 0; index < teamEntryCount; ++index) { float num4 = EasingUtility.EaseByType(this.curveType, 0.0f, 1f, 1f - ((float)index / (float)teamEntryCount).Clamp(0f, 1f)); num3 += num4; } float num5 = 1f / num3; for (int index = 0; index < teamEntryCount; ++index) { float num4 = EasingUtility.EaseByType(this.curveType, 0.0f, 1f, 1f - ((float)index / (float)teamEntryCount).Clamp(0f, 1f)); float num6 = ((num1 + num2 * num4 * num5) / (float)prizeFund).Clamp(0f, 1f) * 100f; floatList.Add(num6); } inRules.prizePoolPercentage.Clear(); inRules.prizePoolPercentage = new List <float>((IEnumerable <float>)floatList); }
public static float EaseByType(EasingUtility.Easing e, float start, float end, float t) { t = (t).Clamp(0f, 1f); switch (e) { case EasingUtility.Easing.Linear: return(EasingUtility.Linear(start, end, t)); case EasingUtility.Easing.InQuad: return(EasingUtility.InQuad(start, end, t)); case EasingUtility.Easing.OutQuad: return(EasingUtility.OutQuad(start, end, t)); case EasingUtility.Easing.InOutQuad: return(EasingUtility.InOutQuad(start, end, t)); case EasingUtility.Easing.OutInQuad: return(EasingUtility.OutInQuad(start, end, t)); case EasingUtility.Easing.InCubic: return(EasingUtility.InCubic(start, end, t)); case EasingUtility.Easing.OutCubic: return(EasingUtility.OutCubic(start, end, t)); case EasingUtility.Easing.InOutCubic: return(EasingUtility.InOutCubic(start, end, t)); case EasingUtility.Easing.OutInCubic: return(EasingUtility.OutInCubic(start, end, t)); case EasingUtility.Easing.InQuart: return(EasingUtility.InQuart(start, end, t)); case EasingUtility.Easing.OutQuart: return(EasingUtility.OutQuart(start, end, t)); case EasingUtility.Easing.InOutQuart: return(EasingUtility.InOutQuart(start, end, t)); case EasingUtility.Easing.OutInQuart: return(EasingUtility.OutInQuart(start, end, t)); case EasingUtility.Easing.InQuint: return(EasingUtility.InQuint(start, end, t)); case EasingUtility.Easing.OutQuint: return(EasingUtility.OutQuint(start, end, t)); case EasingUtility.Easing.InOutQuint: return(EasingUtility.InOutQuint(start, end, t)); case EasingUtility.Easing.OutInQuint: return(EasingUtility.OutInQuint(start, end, t)); case EasingUtility.Easing.InSin: return(EasingUtility.InSin(start, end, t)); case EasingUtility.Easing.OutSin: return(EasingUtility.OutSin(start, end, t)); case EasingUtility.Easing.InOutSin: return(EasingUtility.InOutSin(start, end, t)); case EasingUtility.Easing.OutInSin: return(EasingUtility.OutInSin(start, end, t)); case EasingUtility.Easing.InExp: return(EasingUtility.InExp(start, end, t)); case EasingUtility.Easing.OutExp: return(EasingUtility.OutExp(start, end, t)); case EasingUtility.Easing.InOutExp: return(EasingUtility.InOutExp(start, end, t)); case EasingUtility.Easing.OutInExp: return(EasingUtility.OutInExp(start, end, t)); case EasingUtility.Easing.InCirc: return(EasingUtility.InCirc(start, end, t)); case EasingUtility.Easing.OutCirc: return(EasingUtility.OutCirc(start, end, t)); case EasingUtility.Easing.InOutCirc: return(EasingUtility.InOutCirc(start, end, t)); case EasingUtility.Easing.OutInCirc: return(EasingUtility.OutInCirc(start, end, t)); case EasingUtility.Easing.InElastic: return(EasingUtility.InElastic(start, end, t)); case EasingUtility.Easing.OutElastic: return(EasingUtility.OutElastic(start, end, t)); case EasingUtility.Easing.InOutElastic: return(EasingUtility.InOutElastic(start, end, t)); case EasingUtility.Easing.OutInElastic: return(EasingUtility.OutInElastic(start, end, t)); case EasingUtility.Easing.InBounce: return(EasingUtility.InBounce(start, end, t)); case EasingUtility.Easing.OutBounce: return(EasingUtility.OutBounce(start, end, t)); case EasingUtility.Easing.InOutBounce: return(EasingUtility.InOutBounce(start, end, t)); case EasingUtility.Easing.OutInBounce: return(EasingUtility.OutInBounce(start, end, t)); case EasingUtility.Easing.InBack: return(EasingUtility.InBack(start, end, t)); case EasingUtility.Easing.OutBack: return(EasingUtility.OutBack(start, end, t)); case EasingUtility.Easing.InOutBack: return(EasingUtility.InOutBack(start, end, t)); case EasingUtility.Easing.OutInBack: return(EasingUtility.OutInBack(start, end, t)); default: return(0.0f); } }
public static Vector3 EaseByType(EasingUtility.Easing e, Vector3 start, Vector3 end, float t) { switch (e) { case EasingUtility.Easing.Linear: return(EasingUtility.Linear(start, end, t)); case EasingUtility.Easing.InQuad: return(EasingUtility.InQuad(start, end, t)); case EasingUtility.Easing.OutQuad: return(EasingUtility.OutQuad(start, end, t)); case EasingUtility.Easing.InOutQuad: return(EasingUtility.InOutQuad(start, end, t)); case EasingUtility.Easing.OutInQuad: return(EasingUtility.OutInQuad(start, end, t)); case EasingUtility.Easing.InCubic: return(EasingUtility.InCubic(start, end, t)); case EasingUtility.Easing.OutCubic: return(EasingUtility.OutCubic(start, end, t)); case EasingUtility.Easing.InOutCubic: return(EasingUtility.InOutCubic(start, end, t)); case EasingUtility.Easing.OutInCubic: return(EasingUtility.OutInCubic(start, end, t)); case EasingUtility.Easing.InQuart: return(EasingUtility.InQuart(start, end, t)); case EasingUtility.Easing.OutQuart: return(EasingUtility.OutQuart(start, end, t)); case EasingUtility.Easing.InOutQuart: return(EasingUtility.InOutQuart(start, end, t)); case EasingUtility.Easing.OutInQuart: return(EasingUtility.OutInQuart(start, end, t)); case EasingUtility.Easing.InQuint: return(EasingUtility.InQuint(start, end, t)); case EasingUtility.Easing.OutQuint: return(EasingUtility.OutQuint(start, end, t)); case EasingUtility.Easing.InOutQuint: return(EasingUtility.InOutQuint(start, end, t)); case EasingUtility.Easing.OutInQuint: return(EasingUtility.OutInQuint(start, end, t)); case EasingUtility.Easing.InSin: return(EasingUtility.InSin(start, end, t)); case EasingUtility.Easing.OutSin: return(EasingUtility.OutSin(start, end, t)); case EasingUtility.Easing.InOutSin: return(EasingUtility.InOutSin(start, end, t)); case EasingUtility.Easing.OutInSin: return(EasingUtility.OutInSin(start, end, t)); case EasingUtility.Easing.InExp: return(EasingUtility.InExp(start, end, t)); case EasingUtility.Easing.OutExp: return(EasingUtility.OutExp(start, end, t)); case EasingUtility.Easing.InOutExp: return(EasingUtility.InOutExp(start, end, t)); case EasingUtility.Easing.OutInExp: return(EasingUtility.OutInExp(start, end, t)); case EasingUtility.Easing.InCirc: return(EasingUtility.InCirc(start, end, t)); case EasingUtility.Easing.OutCirc: return(EasingUtility.OutCirc(start, end, t)); case EasingUtility.Easing.InOutCirc: return(EasingUtility.InOutCirc(start, end, t)); case EasingUtility.Easing.OutInCirc: return(EasingUtility.OutInCirc(start, end, t)); case EasingUtility.Easing.InElastic: return(EasingUtility.InElastic(start, end, t)); case EasingUtility.Easing.OutElastic: return(EasingUtility.OutElastic(start, end, t)); case EasingUtility.Easing.InOutElastic: return(EasingUtility.InOutElastic(start, end, t)); case EasingUtility.Easing.OutInElastic: return(EasingUtility.OutInElastic(start, end, t)); case EasingUtility.Easing.InBounce: return(EasingUtility.InBounce(start, end, t)); case EasingUtility.Easing.OutBounce: return(EasingUtility.OutBounce(start, end, t)); case EasingUtility.Easing.InOutBounce: return(EasingUtility.InOutBounce(start, end, t)); case EasingUtility.Easing.OutInBounce: return(EasingUtility.OutInBounce(start, end, t)); case EasingUtility.Easing.InBack: return(EasingUtility.InBack(start, end, t)); case EasingUtility.Easing.OutBack: return(EasingUtility.OutBack(start, end, t)); case EasingUtility.Easing.InOutBack: return(EasingUtility.InOutBack(start, end, t)); case EasingUtility.Easing.OutInBack: return(EasingUtility.OutInBack(start, end, t)); default: return(Vector3.zero); } }