コード例 #1
0
    public void SetModel(string levelId, LevelRating data)
    {
        if (data.total > 0)
        {
            averageRatingText.text = ((data.average ?? 0) / 2.0).ToString("0.00");
            numRatingsText.text    = $"{data.total} " + (data.total > 1 ? "GAME_PREP_RATINGS_UNIT_RATINGS" : "GAME_PREP_RATINGS_UNIT_RATING").Get();
        }
        else
        {
            averageRatingText.text = "N/A";
            numRatingsText.text    = "0 " + "GAME_PREP_RATINGS_UNIT_RATINGS".Get();
        }

        if (Context.OnlinePlayer.IsAuthenticated && Context.LevelManager.LoadedLocalLevels.ContainsKey(levelId))
        {
            messageText.text = data.rating > 0
                ? "GAME_PREP_RATINGS_YOU_RATED_X".Get($"{data.rating / 2.0:0.#}")
                : (data.total > 0 ? "GAME_PREP_RATINGS_YOU_HAVENT_RATED" : "GAME_PREP_RATINGS_BE_THE_FIRST").Get();
            rateButton.gameObject.SetActive(true);
        }
        else
        {
            messageText.text = "";
            rateButton.gameObject.SetActive(false);
        }
        LayoutFixer.Fix(transform);
    }
コード例 #2
0
ファイル: RatingTab.cs プロジェクト: zipfried/Cytoid
    private void OnLevelRatingUpdated(string id, LevelRating data)
    {
        if (levelId != id)
        {
            return;
        }
        if (data.total > 0)
        {
            ratingText.text = ((data.average ?? 0) / 2.0).ToString("0.00");
        }
        else
        {
            ratingText.text = "N/A";
        }

        rateLevelElement.SetModel(id, data);
        rateLevelElement.rateButton.onPointerClick.SetListener(_ =>
        {
            var dialog = RateLevelDialog.Instantiate(id, data.rating ?? -1);
            dialog.onLevelRated.AddListener(rating =>
            {
                print("Updated with " + rating.rating);
                OnLevelRatingUpdated(id, rating);
            });
            dialog.Open();
        });
    }
コード例 #3
0
ファイル: SaveData.cs プロジェクト: tg1230/Space-Zoologist
    public static void SetLevelRating(LevelID level, int rating)
    {
        // Search for a rating with the given id
        int index = Instance.levelRatings.FindIndex(x => x.ID == level);

        // Check if a rating with the id was found
        if (index >= 0)
        {
            // Get the rating
            LevelRating levelRating = Instance.levelRatings[index];

            // If the current rating is less than the new one, then update the current rating
            if (levelRating.Rating < rating)
            {
                Instance.levelRatings[index] = new LevelRating(level, rating);
            }
        }
        // If no rating exists for the current id then add a new rating
        else
        {
            Instance.levelRatings.Add(new LevelRating(level, rating));
        }
    }