public static float Progress(this PPIDailyRewards.Day @this, PPIPlayerStats.TransientData stats) { switch (@this.Condition.Type) { case PPIDailyRewards.E_ConditionType.None: return(1.0f); case PPIDailyRewards.E_ConditionType.GainExperience: return(Mathf.Min(@this.Condition.Value > 0 ? stats.Experience / (float)@this.Condition.Value : 1.0f, 1.0f)); case PPIDailyRewards.E_ConditionType.PlayNumberOfMatches: return(Mathf.Min(@this.Condition.Value > 0 ? stats.GamesFinished / (float)@this.Condition.Value : 1.0f, 1.0f)); case PPIDailyRewards.E_ConditionType.WinNumberOfMatches: return(Mathf.Min(@this.Condition.Value > 0 ? stats.GamesWon / (float)@this.Condition.Value : 1.0f, 1.0f)); default: throw new System.IndexOutOfRangeException(); } }
public static bool IsAccomplished(this PPIDailyRewards.Day @this, PPIPlayerStats.TransientData stats) { switch (@this.Condition.Type) { case PPIDailyRewards.E_ConditionType.None: return(true); case PPIDailyRewards.E_ConditionType.GainExperience: return(stats.Experience >= @this.Condition.Value); case PPIDailyRewards.E_ConditionType.PlayNumberOfMatches: return(stats.GamesFinished >= @this.Condition.Value); case PPIDailyRewards.E_ConditionType.WinNumberOfMatches: return(stats.GamesWon >= @this.Condition.Value); default: throw new System.IndexOutOfRangeException(); } }
GuiPopupDailyRewards.E_Status ModifyStatus(GuiPopupDailyRewards.E_Status status, PPIDailyRewards.Day day) { switch (status) { case GuiPopupDailyRewards.E_Status.Current: return(day.Received == true ? GuiPopupDailyRewards.E_Status.Gained : GuiPopupDailyRewards.E_Status.Idle); case GuiPopupDailyRewards.E_Status.Gained: return(day.Received == true ? GuiPopupDailyRewards.E_Status.Gained : GuiPopupDailyRewards.E_Status.Missed); default: return(status); } }
GuiPopupDailyRewards.E_Status ModifyStatus(GuiPopupDailyRewards.E_Status status, DateTime date, PPIDailyRewards.Day day) { if (status != GuiPopupDailyRewards.E_Status.Current) { return(status); } if (date != CloudDateTime.UtcNow.Date) { return(status); } return(GuiPopupDailyRewards.E_Status.Gained); }