153 lines
3.8 KiB
C#
153 lines
3.8 KiB
C#
// ***********************************************************************
|
|
// Assembly : Unity
|
|
// Author : Kimch
|
|
// Created : 2018-2-8
|
|
// Description : 帮会列表基础数据
|
|
// Last Modified By : Kimch
|
|
// Last Modified On :
|
|
// ***********************************************************************
|
|
// <copyright file= "GuildList" company=""></copyright>
|
|
// <summary></summary>
|
|
// ***********************************************************************
|
|
using System.Collections.Generic;
|
|
namespace G
|
|
{
|
|
public class GuildList
|
|
{
|
|
public GuildList()
|
|
{
|
|
CleanUp();
|
|
}
|
|
|
|
public void CleanUp()
|
|
{
|
|
if (null == _guildInfoList)
|
|
{
|
|
_guildInfoList = new List<GuildPreviewInfo>();
|
|
}
|
|
|
|
_guildInfoList.Clear();
|
|
}
|
|
|
|
private List<GuildPreviewInfo> _guildInfoList;
|
|
public List<GuildPreviewInfo> guildInfoList
|
|
{
|
|
get { return _guildInfoList; }
|
|
set { _guildInfoList = value; }
|
|
}
|
|
|
|
public void UpdateData(GamePacket list)
|
|
{
|
|
_guildInfoList.Clear();
|
|
//for (int i = 0; i < list.guildGuidCount; ++i)
|
|
//{
|
|
// GuildPreviewInfo info = new GuildPreviewInfo();
|
|
// info.guildGuid = list.GetGuildGuid(i);
|
|
// if (info.guildGuid == GlobalDefine.INVALID_GUID)
|
|
// {
|
|
// continue;
|
|
// }
|
|
|
|
// if (i < list.guildNameCount)
|
|
// {
|
|
// info.guildName = list.GetGuildName(i);
|
|
// }
|
|
|
|
// if (i < list.guildLevelCount)
|
|
// {
|
|
// info.guildLevel = list.GetGuildLevel(i);
|
|
// }
|
|
|
|
// if (i < list.guildChiefNameCount)
|
|
// {
|
|
// info.guildChiefName = list.GetGuildChiefName(i);
|
|
// }
|
|
|
|
// if (i < list.guildMemberNumCount)
|
|
// {
|
|
// info.guildCurMemberNum = list.GetGuildMemberNum(i);
|
|
// }
|
|
// if (i < list.guildCombatCount)
|
|
// {
|
|
// info.guildCombatValue = list.GetGuildCombat(i);
|
|
// }
|
|
// if (i < list.isEnemyGuildCount)
|
|
// {
|
|
// info.isEnemyGuild = (list.GetIsEnemyGuild(i) == 1);
|
|
// }
|
|
// if (i < list.guildApplyNumCount)
|
|
// {
|
|
// info.guildCurApplyNum = list.GetGuildApplyNum(i);
|
|
// }
|
|
// if (i < list.guildApplyMaxNumCount)
|
|
// {
|
|
// info.guildMaxApplyNum = list.GetGuildApplyMaxNum(i);
|
|
// }
|
|
// if (i < list.GuildDeclarationCount)
|
|
// {
|
|
// info.guildDeclaration = list.GetGuildDeclaration(i);
|
|
// }
|
|
|
|
// _guildInfoList.Add(info);
|
|
//}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 帮会列表按照帮会的战力值排序
|
|
/// </summary>
|
|
/// <param name="guidlist"></param>
|
|
/// <returns></returns>
|
|
|
|
static public List<GuildPreviewInfo> GuildSort(List<GuildPreviewInfo> guidlist)
|
|
{
|
|
if (guidlist == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
//int alreadySortedNum = 0;
|
|
|
|
//SortedDictionary<int, GuildPreviewInfo> tempListFront = new SortedDictionary<int, GuildPreviewInfo>(new MySort());
|
|
SortedDictionary<int, GuildPreviewInfo> tempListBehind = new SortedDictionary<int, GuildPreviewInfo>(new MySort());
|
|
|
|
List<long> SortedGuildGuid = new List<long>();
|
|
|
|
// 没有帮会的人要优先显示可以加入的
|
|
// if(GameManager.gameManager.PlayerDataPool.GuildInfo.GuildGuid == GlobeVar.INVALID_GUID)
|
|
// {
|
|
// // 可以申请加入的排前面
|
|
// foreach(var info in guidlist)
|
|
// {
|
|
// if(info.GuildCurMemberNum < info.GuildMaxMemberNum && info.GuildCurApplyNum < info.GuildMaxApplyNum)
|
|
// {
|
|
// tempListFront.Add(- info.GuildCombatValue,info);
|
|
// SortedGuildGuid.Add(info.GuildGuid);
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// 然后再按照战力排列
|
|
foreach (var info in guidlist)
|
|
{
|
|
if (SortedGuildGuid.Contains(info.guildId))
|
|
{
|
|
continue;
|
|
}
|
|
tempListBehind.Add(-info.guildCombatValue, info);
|
|
}
|
|
|
|
guidlist.Clear();
|
|
// foreach (var item in tempListFront)
|
|
// {
|
|
// guidlist.Add(item.Value);
|
|
// }
|
|
foreach (var item in tempListBehind)
|
|
{
|
|
guidlist.Add(item.Value);
|
|
}
|
|
|
|
return guidlist;
|
|
}
|
|
}
|
|
}
|