Exemple #1
0
    public static ItemInfomation LoadItemInfomation(string path)
    {
        TextAsset textAsset = (TextAsset)Resources.Load(path);

        // 新建并初始化
        ItemInfomation itemInfomation = new ItemInfomation();

        itemInfomation.rankList  = new List <RankInfomation>();
        itemInfomation.countDown = JSONNode.Parse(textAsset.text)["countDown"];
        itemInfomation.seasonID  = JSONNode.Parse(textAsset.text)["seasonID"];
        itemInfomation.selfRank  = JSONNode.Parse(textAsset.text)["selfRank"];


        // 添加list内容
        RankInfomation rankInfomation;

        foreach (JSONNode rank in JSONNode.Parse(textAsset.text)["list"])
        {
            rankInfomation             = new RankInfomation();
            rankInfomation.uid         = rank["uid"];
            rankInfomation.nickName    = rank["nickName"];
            rankInfomation.avatar      = rank["avatar"];
            rankInfomation.trophy      = rank["trophy"];
            rankInfomation.thirdAvatar = rank["thirdAvatar"];
            rankInfomation.role        = rank["role"];
            rankInfomation.abb         = rank["abb"];
            itemInfomation.rankList.Add(rankInfomation);
        }

        // 给排行榜排序
        itemInfomation.rankList.Sort((x, y) =>
        {
            if (x.trophy > y.trophy)
            {
                return(-1);
            }
            if (x.trophy == y.trophy)
            {
                return(0);
            }
            return(1);
        });

        // 排完顺序,标号
        for (int i = 0; i < itemInfomation.rankList.Count; ++i)
        {
            itemInfomation.rankList[i].rank = i + 1;
        }
        return(itemInfomation);
    }
Exemple #2
0
    // 记录信息、更新UI
    public void Initialize(RankInfomation rankInfomation, bool isChangeBackground)
    {
        // 记录信息
        this.rankInfomation = rankInfomation;

        // 更新UI
        if (isChangeBackground)
        {
            if (rankInfomation.rank <= 3)
            {
                itemUIShow.imagePanel.sprite = ItemUIConfig.GetImagePanel(rankInfomation.rank);
            }
            else
            {
                itemUIShow.imagePanel.sprite = ItemUIConfig.GetImagePanel(4);
            }
        }
        InitializeUI(rankInfomation);
    }
Exemple #3
0
    // 根据信息更新UI
    private void InitializeUI(RankInfomation rankInfomation)
    {
        itemUIShow.nickName.text = rankInfomation.nickName;

        itemUIShow.imageTrophy.sprite = ItemUIConfig.GetImageTrophy(1 + rankInfomation.trophy / 1000);
        itemUIShow.textRanking.text   = rankInfomation.trophy.ToString();

        if (rankInfomation.rank <= 3)
        {
            itemUIShow.textRank.gameObject.SetActive(false);
            itemUIShow.imageRank.gameObject.SetActive(true);
            itemUIShow.imageRank.sprite = ItemUIConfig.GetImageRank(rankInfomation.rank);
            itemUIShow.imageRank.SetNativeSize();
            itemUIShow.imageAvatarBorder.sprite = ItemUIConfig.GetImageAvatarBorder(rankInfomation.rank);
        }
        else
        {
            itemUIShow.imageRank.gameObject.SetActive(false);
            itemUIShow.textRank.gameObject.SetActive(true);
            itemUIShow.textRank.text            = rankInfomation.rank.ToString();
            itemUIShow.imageAvatarBorder.sprite = ItemUIConfig.GetImageAvatarBorder(4);
        }
    }