protected override void UpdateUI(ArrayList array) { List <LTLegionFBRankItemData> rankdatas = new List <LTLegionFBRankItemData>(); for (int i = 0; i < array.Count; i++) { var data = new LTLegionFBRankItemData(); data = new LTLegionFBRankItemData(array[i] as Hashtable, i); rankdatas.Add(data); } LTLegionFBRankItemData temp = rankdatas.Find(p => p.m_Uid == LoginManager.Instance.LocalUserId.Value); if (temp == null) { temp = new LTLegionFBRankItemData(); temp.m_Name = LoginManager.Instance.LocalUser.Name; temp.m_Icon = LoginManager.Instance.LocalUser.Icon; temp.m_Frame = LTMainHudManager.Instance.UserLeaderHeadFrameStr; temp.m_Rank = -1; } m_localPlayerRankData = temp; int total = rankdatas.Count; for (int i = 0; i < 4 - total; i++) { var data = new LTLegionFBRankItemData(); data.m_Name = EB.Localizer.GetString("ID_codefont_in_NationStruct_17151"); data.m_Icon = "Ty_Touxiang_Di1"; rankdatas.Add(data); } // rankdatas.Sort((a, b) => { return((int)(b.m_Hurt - a.m_Hurt)); }); //rankdatas.Sort(new LTLegionFBRankItemDataComparer()); rankdatas = rankdatas.GetRange(0, Mathf.Min(4, rankdatas.Count)); for (int i = 0; i < rankdatas.Count; i++) { rankdatas[i].m_Rank = i; } //当前的排名数据添加到缓存里 if (m_AllRank.ContainsKey(m_CurrentBossID)) { m_AllRank[m_CurrentBossID].Clear(); m_AllRank[m_CurrentBossID] = rankdatas; } else { m_AllRank.Add(m_CurrentBossID, rankdatas); } // SetRank(rankdatas); }
protected virtual void UpdateInfo() { //在之前已经给该值赋值了 并且改变了m_AllRank的数据 // UnityEngine.Debug.LogError("LocalUserId:" + LoginManager.Instance.LocalUserId.Value); // Debug.LogError("m_CurrentBossID:" + m_CurrentBossID); // foreach (var item in m_AllRank) // { // EB.Debug.LogError("key:" + item.Key); // } m_localPlayerRankData = m_AllRank[m_CurrentBossID].Find(p => p.m_Uid == LoginManager.Instance.LocalUserId.Value); if (m_localPlayerRankData == null) { m_localPlayerRankData = new LTLegionFBRankItemData(); m_localPlayerRankData.m_Name = LoginManager.Instance.LocalUser.Name; m_localPlayerRankData.m_Icon = LoginManager.Instance.LocalUser.Icon; m_localPlayerRankData.m_Frame = LTMainHudManager.Instance.UserLeaderHeadFrameStr; m_localPlayerRankData.m_Rank = -1; } v_SelfRank.F_SetData(m_localPlayerRankData, true); }