void ResetPageInfo() { //TraceUtil.Log("刷新附近人数面板,附近人数:" + m_panelElementList.Count); for (int i = 0; i < MyFriendPanelList.Count; i++) { NearlyItem friendData = m_panelElementList.FirstOrDefault(P => P.Index == (CurrentPage - 1) * 4 + i); if (friendData == null) { //MyFriendPanelList[i].gameObject.SetActive(false); MyFriendPanelList[i].SetElementActive(false); } else { //MyFriendPanelList[i].gameObject.SetActive(true); MyFriendPanelList[i].SetElementActive(true); MyFriendPanelList[i].SetAttribute(friendData.element, friendData.m_isFriend); //TraceUtil.Log("刷新附近人物信息:"+friendData.element.sMsgRecvAnswerFriends_SC.Name); } } Color enabelColor = new Color(1, 1, 1, 1); Color disabelColor = new Color(1, 1, 1, 0.3f); LastPageBtn.BackgroundSprite.color = (CurrentPage > 1 ? enabelColor : disabelColor); int MaxItemID = 1; m_panelElementList.ApplyAllItem(P => MaxItemID = P.Index > MaxItemID ? P.Index : MaxItemID); MaxItemID++; NextPageBtn.BackgroundSprite.color = (MaxItemID / 4 + (MaxItemID % 4 > 0 ? 1 : 0)) > CurrentPage ? enabelColor : disabelColor; PageLabel.SetText(string.Format("{0}/{1}", CurrentPage, MaxItemID / 4 + (MaxItemID % 4 > 0 ? 1 : 0))); RoleNumber.SetText(string.Format("{0}/{1}", m_panelElementList.Count, 30)); }
private void CreateUIListPanel(PanelElementDataModel element, int index) { if (m_panelElementList.Exists(P => P.dwFriendID == element.sMsgRecvAnswerFriends_SC.dwFriendID)) { return; } NearlyItem nearlyItem = new NearlyItem(); nearlyItem.Index = index; nearlyItem.dwFriendID = element.sMsgRecvAnswerFriends_SC.dwFriendID; nearlyItem.element = element; nearlyItem.m_isFriend = FriendDataManager.Instance.GetFriendListData.Exists(P => P.sMsgRecvAnswerFriends_SC.dwFriendID == element.sMsgRecvAnswerFriends_SC.dwFriendID); m_panelElementList.Add(nearlyItem); }
/// <summary> /// 打开 /// </summary> /// <param name="notifyArgs"></param> private void ShowNearlyPlayerHandle(INotifyArgs notifyArgs) { StopAllCoroutines(); if (LoadingUI.Instance != null) { LoadingUI.Instance.Close(); } NearlySMsgGetActorListHead = (SMsgGetActorListHead)notifyArgs; m_panelElementList.Clear(); for (int i = 0; i < NearlySMsgGetActorListHead.dwFriendNum; i++) { PanelElementDataModel playerElementData = new PanelElementDataModel(); playerElementData.sMsgRecvAnswerFriends_SC.dwFriendID = NearlySMsgGetActorListHead.sMsgRecvAnswerFriends_SC[i].dwFriendID; playerElementData.sMsgRecvAnswerFriends_SC.szName = NearlySMsgGetActorListHead.sMsgRecvAnswerFriends_SC[i].szName; playerElementData.sMsgRecvAnswerFriends_SC.sActorLevel = NearlySMsgGetActorListHead.sMsgRecvAnswerFriends_SC[i].sActorLevel; playerElementData.sMsgRecvAnswerFriends_SC.bOnLine = NearlySMsgGetActorListHead.sMsgRecvAnswerFriends_SC[i].bOnLine; playerElementData.sMsgRecvAnswerFriends_SC.dProfession = NearlySMsgGetActorListHead.sMsgRecvAnswerFriends_SC[i].dProfession; playerElementData.BtnType = ButtonType.NearlyPlayer; //TraceUtil.Log("附近玩家列表=====>>>>>.dProfession" + sMsgGetActorListHead.sMsgRecvAnswerFriends_SC[i].dProfession); if (!m_panelElementList.Exists(P => P.dwFriendID == playerElementData.sMsgRecvAnswerFriends_SC.dwFriendID)) { NearlyItem nearlyItem = new NearlyItem(); nearlyItem.Index = i; nearlyItem.dwFriendID = playerElementData.sMsgRecvAnswerFriends_SC.dwFriendID; nearlyItem.element = playerElementData; nearlyItem.m_isFriend = FriendDataManager.Instance.GetFriendListData.Exists(P => P.sMsgRecvAnswerFriends_SC.dwFriendID == playerElementData.sMsgRecvAnswerFriends_SC.dwFriendID); m_panelElementList.Add(nearlyItem); } } CurrentPage = 1; ResetPageInfo(); if (commonUIBottomButtonTool == null) { commonUIBottomButtonTool = CreatObjectToNGUI.InstantiateObj(UIBottomBtnPrefab, CreatBottomBtnPoint).GetComponent <UI.MainUI.CommonUIBottomButtonTool>(); ShowBottomBtn(); } else { commonUIBottomButtonTool.ShowAnim(); } transform.localPosition = Vector3.zero; }
void ShowNearlyPlayerHandle(INotifyArgs notifyArgs) { if (LoadingUI.Instance != null) { LoadingUI.Instance.Close(); } var NearlySMsgGetActorListHead = (SMsgGetActorListHead)notifyArgs; m_panelElementList.Clear(); for (int i = 0; i < NearlySMsgGetActorListHead.dwFriendNum; i++) { PanelElementDataModel playerElementData = new PanelElementDataModel(); playerElementData.sMsgRecvAnswerFriends_SC = NearlySMsgGetActorListHead.sMsgRecvAnswerFriends_SC[i]; playerElementData.BtnType = ButtonType.NearlyPlayer; if (!m_panelElementList.Exists(P => P.dwFriendID == playerElementData.sMsgRecvAnswerFriends_SC.dwFriendID)) { NearlyItem nearlyItem = new NearlyItem(); nearlyItem.Index = i; nearlyItem.dwFriendID = playerElementData.sMsgRecvAnswerFriends_SC.dwFriendID; nearlyItem.element = playerElementData; nearlyItem.m_isFriend = FriendDataManager.Instance.GetFriendListData.Exists(P => P.sMsgRecvAnswerFriends_SC.dwFriendID == playerElementData.sMsgRecvAnswerFriends_SC.dwFriendID); m_panelElementList.Add(nearlyItem); } } // if(m_curFriendChildPanelType == FriendBtnType.Town) // { List <PanelElementDataModel> list = new List <PanelElementDataModel>(); List <PanelElementDataModel> myFriendList = FriendDataManager.Instance.GetOnlineFriendList; m_panelElementList.ApplyAllItem(p => { if (!myFriendList.Any(k => k.sMsgRecvAnswerFriends_SC.dwFriendID == p.dwFriendID)) { list.Add(p.element); } }); list.Sort(new FriendComparerByLevel()); m_ChildPanelDict[FriendBtnType.Town].CreateItems(list, FriendBtnType.Town); // } }