Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }