SendRank() public static method

Sends a rank-wide message (@@Rank message).
public static SendRank ( [ player, [ rank, [ rawMessage ) : bool
player [ Player writing the message.
rank [ Target rank.
rawMessage [ Message text.
return bool
Example #1
0
        void HandleRankChatMessage([NotNull] string rawMessage)
        {
            if (rawMessage == null)
            {
                throw new ArgumentNullException("rawMessage");
            }
            if (!Can(Permission.Chat))
            {
                return;
            }

            if (Info.IsMuted)
            {
                MessageMuted();
                return;
            }

            if (DetectChatSpam())
            {
                return;
            }

            if (rawMessage.EndsWith("//"))
            {
                rawMessage = rawMessage.Substring(0, rawMessage.Length - 1);
            }

            Rank rank;

            if (rawMessage[2] == ' ')
            {
                rank = Info.Rank;
            }
            else
            {
                string rankName = rawMessage.Substring(2, rawMessage.IndexOf(' ') - 2);
                rank = RankManager.FindRank(rankName);
                if (rank == null)
                {
                    MessageNoRank(rankName);
                    return;
                }
            }

            string messageText = rawMessage.Substring(rawMessage.IndexOf(' ') + 1);

            Player[] spectators = Server.Players.NotRanked(Info.Rank)
                                  .Where(p => p.spectatedPlayer == this)
                                  .ToArray();
            if (spectators.Length > 0)
            {
                spectators.Message("[Spectate]: &Fto rank {0}&F: {1}", rank.ClassyName, messageText);
            }

            Chat.SendRank(this, rank, messageText);
        }