Beispiel #1
0
    private void TryUpdateLatestWeekScore(WeekDetails week, int points)
    {
        WeekScore weekScore = DataService.GetHighestWeekScore(week.Id);

        if (weekScore == null)
        {
            weekScore = new WeekScore()
            {
                Id     = week.Id,
                Points = points,
                Year   = week.Year,
                Week   = week.Nr,
                UserId = User.Id
            };
            DataService.AddWeekHighScore(weekScore);
        }
        else
        {
            if (weekScore.Points >= points)
            {
                Debug.Log("weekScore: " + weekScore.Points);
            }
            else
            {
                weekScore.Points = points;
                DataService.UpdateWeekHighScore(weekScore);
            }
        }
    }
Beispiel #2
0
        public static WeekDetails GetWeekDetails()
        {
            DateTime    now  = DateTime.Now;
            WeekDetails week = new WeekDetails {
                Year = now.Year,
                Nr   = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(now, CalendarWeekRule.FirstDay, DayOfWeek.Sunday),
            };

            week.Id = (Convert.ToInt32(week.Year.ToString() + "00") + week.Nr);
            return(week);
        }
Beispiel #3
0
    private void UpdateHighScore(WeekDetails week, int points)
    {
        HighScore highScore = new HighScore()
        {
            Points   = points,
            Type     = HighScoreType,
            WeekId   = week.Id,
            UserId   = PlayingUser.Id,
            UserName = PlayingUser.Name
        };

        DataService.AddHighScore(highScore);
    }
Beispiel #4
0
    internal void OnGameOver()
    {
        GameOver = true;
        UIController._.DialogController.ShowDialog(true, GameplayState.Failed);

        int points = 0;
        // points = Level<LevelRandomRanked>().Points;
        WeekDetails week = __data.GetWeekDetails();

        if (HighScoreType == HighScoreType.RANKED)
        {
            TryUpdateLatestWeekScore(week, points);
        }
        UpdateHighScore(week, points);
    }