private void SwitchUI(FRIEND_UI_TOGGLE_TYPE type_)
        {
            m_friend_info_list_root.Visible = false;
            m_friend_application_root.Visible = false;
            m_friend_confirm_root.Visible = false;
            m_add_friend_root.Visible = false;
            m_gift_root.Visible = false;
            m_recommend_btn.Visible = false;

            switch (type_)
            {
                case FRIEND_UI_TOGGLE_TYPE.Added:
                    m_friend_info_list_root.Visible = true;
                    break;
                case FRIEND_UI_TOGGLE_TYPE.Agreeing:
                    m_friend_application_root.Visible = true;
                    break;
                case FRIEND_UI_TOGGLE_TYPE.Addinfo:
                    m_friend_confirm_root.Visible = true;
                    break;
                case FRIEND_UI_TOGGLE_TYPE.gift:
                    m_gift_root.Visible = true;
                    break;
                case FRIEND_UI_TOGGLE_TYPE.scarch:
                    {
                        m_add_friend_root.Visible = true;
                        m_recommend_btn.Visible = true;
                        m_recommend_tips.Visible = false;
                    }
                    break;
            }
        }
        private void OnToggleClick(bool val_, int id_)
        {
            if (val_)
            {
                if (-1 != m_last_toggle_id)
                    EngineCoreEvents.AudioEvents.PlayAudio.SafeInvoke(Audio.AudioType.UISound, EngineCommonAudioKey.table_change.ToString());

                if (m_last_toggle_id == id_)
                    return;

                m_last_toggle_id = id_;

                FRIEND_UI_TOGGLE_TYPE cur_type = (FRIEND_UI_TOGGLE_TYPE)id_;
                SwitchUI(cur_type);

                if (FRIEND_UI_TOGGLE_TYPE.Added == cur_type || FRIEND_UI_TOGGLE_TYPE.Addinfo == cur_type || FRIEND_UI_TOGGLE_TYPE.Agreeing == cur_type)
                {
                    GameEvents.UIEvents.UI_Friend_Event.OnRefreshFriendPage.SafeInvoke((FriendReqType)id_);
                    this.Refresh(cur_type);
                }
                else if (FRIEND_UI_TOGGLE_TYPE.gift == (FRIEND_UI_TOGGLE_TYPE)id_)
                {
                    this.ShowGiftView();
                }
            }
        }
        public void Refresh(FRIEND_UI_TOGGLE_TYPE type_)
        {
            //this.SwitchUI(type_);

            ShowConfirmRedPoint(FriendDataManager.Instance.Last_apply);
            ShowApplyRedPoint(PlayerPrefTool.GetIsThereNewApply());

            m_recommend_btn.Visible = false;

            if (FRIEND_UI_TOGGLE_TYPE.Added == type_ || FRIEND_UI_TOGGLE_TYPE.Addinfo == type_ || FRIEND_UI_TOGGLE_TYPE.Agreeing == type_)
            {
                int temp_type = (int)type_;
                Dictionary<long, PlayerFriendMsg> datas = FriendDataManager.Instance.GetDatas((FriendReqType)temp_type);


                if (FRIEND_UI_TOGGLE_TYPE.Added == type_ && m_friend_info_list_root.Visible)
                {
                    if (null == datas)
                    {
                        m_friend_info_grid.Clear();
                        return;
                    }

                    List<PlayerFriendMsg> friends = new List<PlayerFriendMsg>(datas.Values);

                    friends.Sort((a, b) => { if (a.Level > b.Level) return -1; else return 1; });

                    m_friend_info_grid.EnsureSize<FriendInfoItemUI>(friends.Count);

                    for (int i = 0; i < m_friend_info_grid.ChildCount; ++i)
                    {
                        m_friend_info_grid.GetChild<FriendInfoItemUI>(i).Visible = false;
                        m_friend_info_grid.GetChild<FriendInfoItemUI>(i).Visible = true;
                        m_friend_info_grid.GetChild<FriendInfoItemUI>(i).Refresh(friends[i]);
                    }

                    m_friend_num_text.Text = string.Format("{0}/{1}", friends.Count, FriendDataManager.Instance.Max_friend_num);

                    m_recommend_btn.Visible = 0 == friends.Count;
                    m_recommend_tips.Visible = m_recommend_btn.Visible;

                }
                else if (FRIEND_UI_TOGGLE_TYPE.Agreeing == type_ && m_friend_application_root.Visible)
                {
                    if (m_application_switch.Checked != FriendDataManager.Instance.Is_receive_application)
                        m_application_switch.Checked = FriendDataManager.Instance.Is_receive_application;

                    if (null == datas || 0 == datas.Count)
                    {
                        m_friend_application_grid.Clear();
                        m_ignore_all_btn.Enable = false;
                        m_ignore_all_btn.SetGray(true);
                        return;
                    }

                    m_ignore_all_btn.Enable = true;
                    m_ignore_all_btn.SetGray(false);

                    List<PlayerFriendMsg> friends = new List<PlayerFriendMsg>(datas.Values);

                    friends.Sort((a, b) => { if (a.StatusTime > b.StatusTime) return -1; else return 1; });

                    m_friend_application_grid.EnsureSize<FriendApplicationItemUI>(friends.Count);

                    for (int i = 0; i < m_friend_application_grid.ChildCount; ++i)
                    {
                        m_friend_application_grid.GetChild<FriendApplicationItemUI>(i).Visible = false;
                        m_friend_application_grid.GetChild<FriendApplicationItemUI>(i).Visible = true;
                        m_friend_application_grid.GetChild<FriendApplicationItemUI>(i).Refresh(friends[i]);
                    }


                }
                else if (FRIEND_UI_TOGGLE_TYPE.Addinfo == type_ && m_friend_confirm_root.Visible)
                {
                    if (null == datas)
                    {
                        m_friend_confirm_grid.Clear();
                        return;
                    }

                    List<PlayerFriendMsg> friends = new List<PlayerFriendMsg>(datas.Values);

                    friends.Sort((a, b) => { if (a.StatusTime > b.StatusTime) return -1; else return 1; });

                    m_friend_confirm_grid.EnsureSize<FriendConfirmItemUI>(friends.Count);

                    for (int i = 0; i < m_friend_confirm_grid.ChildCount; ++i)
                    {
                        m_friend_confirm_grid.GetChild<FriendConfirmItemUI>(i).Visible = false;
                        m_friend_confirm_grid.GetChild<FriendConfirmItemUI>(i).Visible = true;
                        m_friend_confirm_grid.GetChild<FriendConfirmItemUI>(i).Refresh(friends[i]);
                    }
                }
            }
            else if (FRIEND_UI_TOGGLE_TYPE.gift == type_)
            {
                m_gift_root.Refresh();
            }
        }