示例#1
0
        private void RemovChat(UInt64 arg1)
        {
            GameObject tempObj = null;

            if (arg1 == 0)
            {
                return;
            }
            ClearOld();
            if (TalkChatName.TryGetValue(arg1, out tempObj))
            {
                if (TalkChatName.Count <= 0)
                {
                    mLastTemp = 0;
                    mLastObj  = null;
                }
                else
                {
                    mLastTemp = TalkChatName.ElementAt(0).Key;
                    mLastObj  = TalkChatObj[TalkChatName.ElementAt(0).Value];
                    if (TalkChatObj.ContainsKey(tempObj))
                    {
                        UnityEngine.GameObject.DestroyImmediate(TalkChatObj[tempObj].objParent);
                        TalkChatObj[tempObj] = null;
                        TalkChatObj.Remove(tempObj);
                    }
                }
                Refresh();
                TalkChatName[arg1] = null;
                TalkChatName.Remove(arg1);
                mChatTaskNameGrid.repositionNow = true;
                mChatTaskNameGrid.Reposition();
            }
        }
示例#2
0
        //窗口控件初始化
        protected override void InitWidget()
        {
            mLastObj          = null;
            CloseChat         = mRoot.Find("CloseBtn").gameObject;
            MsgInfo           = mRoot.Find("ChatWindow/InputArea").GetComponent <UIInput>();
            SendMsgInfo       = mRoot.Find("ChatWindow/SendMSg").gameObject;
            mChatTaskNameGrid = mRoot.Find("ChatList/Panel/Grid").GetComponent <UIGrid>();
            TalkTable         = mRoot.Find("ChatWindow/Scroll View/Table").GetComponent <UITable>();
            ScrollView        = mRoot.Find("ChatWindow/Scroll View").GetComponent <UIScrollView>();
            ScrollBar         = mRoot.Find("ChatWindow/Control - Simple Vertical Scroll Bar").GetComponent <UIScrollBar>();
            ScrollMemBer      = mRoot.Find("ChatList/Control - Simple Vertical Scroll Bar").GetComponent <UIScrollBar>();
            UIEventListener.Get(CloseChat).onClick   += CloseChatPress;
            UIEventListener.Get(SendMsgInfo).onClick += SendChatPress;
            bool isTure = false;

            if (mLastObj != null || FriendManager.Instance.AllTalkDic.Count < 1)
            {
                CreateMember(mLastTemp);
            }
            else
            {
                foreach (var item in FriendManager.Instance.AllTalkDic.Values)
                {
                    if (item.SGUID == mLastTempNew)
                    {
                        isTure = true;
                        continue;
                    }
                    GameObject gameObj = null;
                    if (item.NickName == null && string.IsNullOrEmpty(item.NickName))
                    {
                        continue;
                    }
                    if (TalkChatName.TryGetValue(item.SGUID, out gameObj))
                    {
                        if (IsVisable && TalkChatObj.ContainsKey(gameObj))
                        {
                            TalkChatObj[gameObj].mTwinkle.SetActive(true);
                        }
                        continue;
                    }
                    if (item.TalkState == MsgTalkEnum.UnReadMsg)
                    {
                        isReadInfo = false;
                    }
                    else
                    {
                        isReadInfo = true;
                    }
                    CreateMember(item.SGUID);
                }
                if (mLastTempNew != 0 && (isTure || !FriendManager.Instance.AllTalkDic.ContainsKey(mLastTempNew)))
                {
                    isReadInfo = true;
                    CreateMember(mLastTempNew);
                }
                ChatTaskCtrl.Instance.SetNewChat();
            }
        }
示例#3
0
        void Refresh()
        {
            GameObject obje = null;

            foreach (var item in FriendManager.Instance.AllTalkDic.Values)
            {
                if (TalkChatName.TryGetValue(item.SGUID, out obje))
                {
                    if (item.TalkState == MsgTalkEnum.UnReadMsg)
                    {
                        TalkChatObj[obje].mTwinkle.SetActive(!isReadInfo);
                    }
                    else if (item.TalkState == MsgTalkEnum.ReadMsg)
                    {
                        TalkChatObj[obje].mTwinkle.SetActive(isReadInfo);
                    }
                }
            }
            ChatTaskCtrl.Instance.SetNewChat();
        }
示例#4
0
        bool isCreate(UInt64 temp)
        {
            GameObject gameObj = null;

            if (temp == 0)
            {
                return(false);
            }
            if (TalkChatName.TryGetValue(temp, out gameObj))
            {
                if (IsVisable && TalkChatObj.ContainsKey(gameObj))
                {
                    TalkChatObj[gameObj].mTwinkle.SetActive(true);
                }
                return(false);
            }
            //if (mLastObj != null && IsVisable)
            //{
            //    mLastObj.mHighlight.SetActive(false);
            //    mLastObj = null;
            //}
            return(true);
        }