/// <summary> /// Возвращает результат съемок /// </summary> private ActionResultModel GetClipResult(SuccessGrade grade) { var gradePercent = GradePercentManager.GetRewardPercent(grade, ActionType.NewClip); var fansPercentValue = PlayerManager.GetFansPercentValue(); var featBonus = _clip.Track.Feat?.Fans / 150 ?? 0; return(new ActionResultModel { Action = ActionType.NewClip, FansIncrease = CalculateStatIncrease(gradePercent, fansPercentValue, 0.1f) + featBonus, Income = CalculateStatIncrease(gradePercent, fansPercentValue, 0.2f) * Random.Range(3, 5), Popularity = CalculateStatIncrease(gradePercent, fansPercentValue, 0.1f) * Random.Range(2, 5), Grade = grade }); }
/// <summary> /// Возвращает результат трэка /// </summary> private ActionResultModel GetTrackResult(SuccessGrade grade) { var gradePercent = GradePercentManager.GetRewardPercent(grade, ActionType.NewTrack); var fansPercentValue = PlayerManager.GetFansPercentValue(); var featBonus = _track.Feat?.Fans / 150 ?? 0; return(new ActionResultModel { Action = _track.Feat == null ? ActionType.NewTrack : ActionType.Feat, FansIncrease = CalculateStatIncrease(gradePercent, fansPercentValue, 0.1f) + featBonus, Income = CalculateStatIncrease(gradePercent, fansPercentValue, 0.2f) * Random.Range(3, 6), Top = PlayerManager.GetInfo().Fans >= 50000 ? GetPlaceInTop(grade) : -1, Popularity = CalculateStatIncrease(gradePercent, fansPercentValue, 0.1f) * Random.Range(2, 5), Grade = grade }); }
/// <summary> /// Возвращает результат съемок /// </summary> private ActionResultModel GetBattleResult(SuccessGrade grade) { var gradePercent = GradePercentManager.GetRewardPercent(grade, ActionType.Battle); var fansPercentValue = PlayerManager.GetFansPercentValue(); var income = CalculateStatIncrease(gradePercent, fansPercentValue, 0.1f); var rivalFansBonus = battleModel.Rival.Fans * 5; return(new ActionResultModel { Action = ActionType.Battle, FansIncrease = CalculateStatIncrease(gradePercent, fansPercentValue, 0.2f) / 3, Income = income > 0 ? income : 0, Popularity = Math.Abs(CalculateStatIncrease(gradePercent, fansPercentValue, 0.1f) * 5 + rivalFansBonus), Grade = grade }); }