| | |
| | | // 0-成员,1-精英,2-副盟主,3-盟主
|
| | | public int leaderID;
|
| | | public string leaderName;
|
| | | // // 精英
|
| | | public List<int> elitePlayerIDList = new List<int>();
|
| | | // // 副盟主
|
| | | public List<int> deputyLeaderPlayerIDList = new List<int>();
|
| | |
|
| | | //差异更新 需增删改 memberDic memberIDList deputyLeaderPlayerIDList
|
| | | public void OnRefreshGuildInfo(HA520_tagMCRoleFamilyInfo vNetData)
|
| | | {
|
| | | if (fairy == null)
|
| | |
| | | fairy.totalFightPower = vNetData.FightPowerEx * Constants.ExpPointValue + vNetData.FightPower;
|
| | | fairy.Broadcast = vNetData.Broadcast;
|
| | | fairy.LeaderID = (int)vNetData.LeaderID;
|
| | | fairy.MemberCount = vNetData.MemberCount;
|
| | | |
| | | fairy.lastChangeNameTick = (int)vNetData.Extra1;
|
| | |
|
| | | mine = null;
|
| | |
|
| | | memberDic.Clear();
|
| | | memberIDList.Clear();
|
| | | deputyLeaderPlayerIDList.Clear();
|
| | | for (int i = 0; i < vNetData.MemberCount; i++)
|
| | | {
|
| | | FairyMember member = new FairyMember();
|
| | |
| | | OnRefreshFairyMine?.Invoke();
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | // 0-成员,1-精英,2-副盟主,3-盟主
|
| | |
|
| | | // if (member.FmLV == 1)
|
| | | // {
|
| | | // elitePlayerIDList.Add(member.PlayerID);
|
| | | // }
|
| | | if (member.FmLV == 2)
|
| | | if (deputyLeaderPlayerIDList.Contains(member.PlayerID) && member.FmLV != 2)
|
| | | {
|
| | | deputyLeaderPlayerIDList.Remove(member.PlayerID);
|
| | | }
|
| | | else if (member.FmLV == 2 && !deputyLeaderPlayerIDList.Contains(member.PlayerID))
|
| | | {
|
| | | // 对应的变更 和 退出需同步修改
|
| | | deputyLeaderPlayerIDList.Add(member.PlayerID);
|
| | | }
|
| | |
|
| | |
|
| | | if (member.FmLV == 3)
|
| | | {
|
| | | leaderID = (int)member.PlayerID;
|
| | | leaderID = member.PlayerID;
|
| | | leaderName = member.Name;
|
| | |
|
| | | }
|
| | | }
|
| | |
|
| | | memberIDList.AddRange(memberDic.Keys);
|
| | | memberIDList.Sort(SortMember);
|
| | | |
| | | if (mine.FmLV == 3 && mine.PlayerID != leaderID)
|
| | | {
|
| | | mine.FmLV = 0;
|
| | | }
|
| | | RefreshMemberIDList();
|
| | |
|
| | | if (OnRefreshFairyInfo != null) OnRefreshFairyInfo();
|
| | | }
|
| | |
|
| | |
|
| | | public void DeleteMember(HA524_tagSCFamilyMemDel netPack)
|
| | | {
|
| | | if (memberDic.ContainsKey((int)netPack.PlayerID))
|
| | | {
|
| | | memberDic.Remove((int)netPack.PlayerID);
|
| | | RefreshMemberIDList();
|
| | | }
|
| | | if (deputyLeaderPlayerIDList.Contains((int)netPack.PlayerID))
|
| | | {
|
| | | deputyLeaderPlayerIDList.Remove((int)netPack.PlayerID);
|
| | | }
|
| | |
|
| | | OnRefreshFairyInfo?.Invoke();
|
| | | }
|
| | |
|
| | | void RefreshMemberIDList()
|
| | | {
|
| | | memberIDList.Clear();
|
| | | memberIDList.AddRange(memberDic.Keys);
|
| | | memberIDList.Sort(SortMember);
|
| | | fairy.MemberCount = memberIDList.Count;
|
| | | }
|
| | |
|
| | | public FairyMember GetMember(int playerid)
|
| | |
| | | public string Broadcast;
|
| | | public int LeaderID; //族长玩家ID
|
| | | public int MemberCount;
|
| | | public int lastChangeNameTick;
|
| | |
|
| | | //查找增加的字段
|
| | | public string LeaderName;
|