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); }
// 记录信息、更新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); }
// 根据信息更新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); } }