public static int ClanMemberSort(stClanMemberInfo thisOne, stClanMemberInfo another) { if (null == thisOne || null == another) { return(0); } //1-在线优先 2-职位优先 3-等级优先 4-id升序 if (thisOne.is_online != another.is_online) { return((int)(another.is_online - thisOne.is_online)); } else if (thisOne.is_online == another.is_online) { // 0 -无 1 -族长 2- 副族长 7 - 成员 if (thisOne.duty != another.duty) { return((int)(thisOne.duty - another.duty)); } else if (thisOne.duty == another.duty) { if (thisOne.level != another.level) { return((int)(another.level - thisOne.level)); } else if (thisOne.level == another.level) { if (thisOne.id != another.id) { return((int)(thisOne.id - another.id)); } } } } return(0); }
//构造成员数据 private void BuildMemberDatas() { if (!IsPanelMode(ClanPanelMode.Member) || !IsInitMode(ClanMemberMode.Member)) { return; } ClanDefine.LocalClanInfo clanInfo = ClanInfo; if (null != clanInfo) { m_list_memberdatas = DataManager.Manager <ClanManger>().MemberSortByType(DataManager.Manager <ClanManger>().curMemberSortType, true); if (!m_list_memberdatas.Contains(m_uint_selectmemberid) && m_list_memberdatas.Count > 0) { m_uint_selectmemberid = m_list_memberdatas[0]; } m_list_memberdatas.Sort(ClanDefine.ClanMemberSort); m_memberCreator.CreateGrids(m_list_memberdatas.Count); if (null != m_label_MemberONT) { ClanDefine.LocalClanMemberDB db = ClanManger.GetLocalCalnMemberDB(clanInfo.Lv); m_label_MemberONT.text = string.Format("成员数量:{0}/{1}/{2}", clanInfo.OnLineMemberCount , clanInfo.MemberCount, ((null != db) ? db.MaxMember : 0)); } } }
private void SetSelectMemberId(stClanMemberInfo selectMember) { if (m_uint_selectmemberid == selectMember || null == m_memberCreator) { return; } //刷新数据 UIClanMemberGrid grid = (m_list_memberdatas.Contains(m_uint_selectmemberid)) ? m_memberCreator.GetGrid <UIClanMemberGrid>(m_list_memberdatas.IndexOf(m_uint_selectmemberid)) : null; if (null != grid) { grid.SetHightLight(false); } m_uint_selectmemberid = selectMember; grid = (m_list_memberdatas.Contains(m_uint_selectmemberid)) ? m_memberCreator.GetGrid <UIClanMemberGrid>(m_list_memberdatas.IndexOf(m_uint_selectmemberid)) : null; if (null != grid) { grid.SetHightLight(true); } }