コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 /// <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;
 }
コード例 #4
0
    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);
//		}
    }