/// <summary>Adds rank to the tail of ranks list</summary> /// <param name="name">name of new rank</param> /// <param name="privileges">privileges of new rank</param> /// <param name="update">if true, sends event to the guild</param> /// <returns>new rank</returns> public GuildRank AddRank(string name, GuildPrivileges privileges, bool update) { GuildRank guildRank; lock (this) { foreach (GuildRank rank in this.m_ranks) { if (rank.Name == name) { return((GuildRank)null); } } if (this.m_ranks.Count >= 10) { return((GuildRank)null); } guildRank = new GuildRank(this, name, privileges, this.m_ranks.Count); this.m_ranks.Add(guildRank); } guildRank.SaveLater(); if (update) { GuildHandler.SendGuildQueryToGuildMembers(this); GuildHandler.SendGuildRosterToGuildMembers(this); } return(guildRank); }
/// <summary> /// Adds rank to the tail of ranks list /// </summary> /// <param name="name">name of new rank</param> /// <param name="privileges">privileges of new rank</param> /// <param name="update">if true, sends event to the guild</param> /// <returns>new rank</returns> public GuildRank AddRank(string name, GuildPrivileges privileges, bool update) { GuildRank rank; //using (syncRoot.Enter()) lock (this) { foreach (var gRank in m_ranks) { if (gRank.Name == name) { return(null); } } if (m_ranks.Count >= GuildMgr.MAX_GUILD_RANKS) { return(null); } rank = new GuildRank(this, name, privileges, m_ranks.Count); m_ranks.Add(rank); } rank.SaveLater(); if (update) { GuildHandler.SendGuildQueryToGuildMembers(this); GuildHandler.SendGuildRosterToGuildMembers(this); } return(rank); }