Пример #1
0
 public override void OnGameStateChanged(Game <IEtsInterface> sender, GameStateChangedEventArgs e)
 {
     if (e.NewState == GameState.Completed)
     {
         Scores.SetScore(sender, CalculateScore(sender, true));
         OnScoresUpdated?.Invoke(this, new ScoresUpdatedEventArgs(Scores));
     }
     else if (e.NewState == GameState.Aborted)
     {
         Scores.SetScore(sender, CalculateScore(sender, false));
         OnScoresUpdated?.Invoke(this, new ScoresUpdatedEventArgs(Scores));
     }
 }
Пример #2
0
        public static IEnumerator GetTopScores()
        {
            var request = UnityWebRequest.Get($"{DreamloURLPublic}/json/10");

            yield return(request.SendWebRequest());

            if (request.result != UnityWebRequest.Result.Success)
            {
                Debug.Log($"Error in web request: {request.error}");
                yield break;
            }

            Scores = new Dictionary <string, int>();

            var data = JObject.Parse(request.downloadHandler.text);

            foreach (var entry in data["dreamlo"]["leaderboard"]["entry"])
            {
                Scores.Add(entry["name"].ToString(), int.Parse(entry["score"].ToString()));
            }

            OnScoresUpdated?.Invoke(Scores);
        }