/// <summary> /// 公会技能升级 /// </summary> public static void UpGuildAbilityLv(string guildID, GuildAbility ability) { var memberArray = new ShareCacheStruct<GuildMember>().FindAll(m => m.GuildID == guildID); foreach (GuildMember member in memberArray) { GameUser user = new GameDataCacheSet<GameUser>().FindKey(member.UserID); if (user == null) { user = UserCacheGlobal.CheckLoadUser(member.UserID); } if (user != null && !string.IsNullOrEmpty(user.MercenariesID)) { UserGuild guild = new ShareCacheStruct<UserGuild>().FindKey(user.MercenariesID); if (guild != null && guild.AbilityInfo.Count > 0) { LoadGuildAbility(member.UserID); if (user.PropertyInfo != null && user.PropertyInfo.Count > 0) { GuildAbility guildAbility = user.PropertyInfo.Find(m => m.Type == ability.Type); if (guildAbility != null) { guildAbility.Num = ability.Num; } else { guildAbility = new GuildAbility(); guildAbility.Type = ability.Type; guildAbility.Num = ability.Num; user.PropertyInfo.Add(guildAbility); } } } } } }
/// <summary> /// 加载玩家公会技能加成 /// </summary> public static void LoadGuildAbility(string userID) { GameUser user = new GameDataCacheSet<GameUser>().FindKey(userID); if (user == null) { UserCacheGlobal.LoadOffline(userID); user = new GameDataCacheSet<GameUser>().FindKey(userID); } if (!string.IsNullOrEmpty(user.MercenariesID)) { UserGuild guild = new ShareCacheStruct<UserGuild>().FindKey(user.MercenariesID); if (guild != null && guild.AbilityInfo.Count > 0) { if (user.PropertyInfo.Count == 0) { foreach (var guildAbility in guild.AbilityInfo) { GuildAbility ability = new GuildAbility(); ability.Type = guildAbility.Type; ability.Num = guildAbility.Num; user.PropertyInfo.Add(ability); } } } } }