public static SendRank ( [ player, [ rank, [ rawMessage ) : bool | ||
player | [ | Player writing the message. |
rank | [ | Target rank. |
rawMessage | [ | Message text. |
return | bool |
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); }