/******************************************************************************** * 文件名: GuildList.cs * 全路径: \Script\Player\Guild\GuildList.cs * 创建人: 李嘉 * 创建时间:2014-04-24 * * 功能说明:帮会列表基础数据 * 修改记录: *********************************************************************************/ using UnityEngine; using System.Collections; using System.Collections.Generic; using Games.GlobeDefine; using System; public class GuildList { public GuildList() { CleanUp(); } public void CleanUp() { if (null == m_GuildInfoList) { m_GuildInfoList = new List(); } if(null == m_RGuildInfoList) { m_RGuildInfoList = new List(); } m_RGuildInfoList.Clear(); m_GuildInfoList.Clear(); } private List m_RGuildInfoList;//全服可响应帮会列表 public List RGuildInfoList { get { return m_RGuildInfoList; } set { m_RGuildInfoList = value; } } private List m_GuildInfoList;//全服可加入帮会列表 public List GuildInfoList { get { return m_GuildInfoList; } set { m_GuildInfoList = value; } } public UInt64 m_HadRespond = GlobeVar.INVALID_GUID; public UInt64 HadRespond { get { return m_HadRespond; } } public void SetNewInfo(ulong guildGuid,int type,int result) { if (result == 0) return; if(type == (int)GC_GUILD_OPERATE_RESULT.OPERATE_TYPE.OPERATE_TYPE_JOIN) { for(int i=0;i< m_GuildInfoList.Count;i++) { if(m_GuildInfoList[i].GuildGuid == guildGuid) { m_GuildInfoList[i].IsEnemyGuild = true; } } } if (type == (int)GC_GUILD_OPERATE_RESULT.OPERATE_TYPE.OPERATE_TYPE_RESPOND) { m_HadRespond = GlobeVar.INVALID_GUID; for (int i = 0; i < RGuildInfoList.Count; i++) { if (RGuildInfoList[i].GuildGuid == guildGuid) { if(result <= 0) { RGuildInfoList[i].IsEnemyGuild = false; RGuildInfoList[i].GuildCurMemberNum = Math.Abs(result); } if(result > 0) { RGuildInfoList[i].IsEnemyGuild = true; RGuildInfoList[i].GuildCurMemberNum = result; } } if(RGuildInfoList[i].IsEnemyGuild == true) { m_HadRespond = RGuildInfoList[i].GuildGuid; } } } SortGuildInfoList(); Games.Events.EventDispatcher.Instance.SendMessage(Games.Events.EventId.OperatorResult, null); } public void SortGuildInfoList() { m_GuildInfoList.Sort(delegate (GuildPreviewInfo info1, GuildPreviewInfo info2) { if (info1.GuildLevel < info2.GuildLevel) return 1; if (info1.GuildLevel == info2.GuildLevel) { if (info1.GuildCurMemberNum < info2.GuildCurMemberNum) return 1; if (info1.GuildCurMemberNum == info2.GuildCurMemberNum) { if (info1.GuildGuid <= info2.GuildGuid) return 1; } } return -1; }); } public void UpdateData(GC_GUILD_RET_LIST list) { List oldList = new List(); if(list.IsRespond == 0) { for(int i=0;i info2.RespondOverTime) ? 1 : -1; }); m_GuildInfoList.Sort(delegate (GuildPreviewInfo info1, GuildPreviewInfo info2) { if (info1.GuildLevel < info2.GuildLevel) return 1; if(info1.GuildLevel == info2.GuildLevel) { if (info1.GuildCurMemberNum < info2.GuildCurMemberNum) return 1; if(info1.GuildCurMemberNum == info2.GuildCurMemberNum) { if (info1.GuildGuid <= info2.GuildGuid) return 1; } } return -1; }); Games.Events.EventDispatcher.Instance.SendMessage(Games.Events.EventId.JoinGuildListInfo, null); } }