2025-05-18 01:04:31 +08:00

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;
}
}
}