GetMessageType() static private method

static private GetMessageType ( string message ) : MessageType
message string
return MessageType
Example #1
0
        // Parses message incoming from the player
        public void ParseMessage(string message, bool fromConsole)
        {
            if (DateTime.Now < mutedUntil)
            {
                return;
            }
            switch (Commands.GetMessageType(message))
            {
            case MessageType.Chat:
                if (CheckChatSpam())
                {
                    return;
                }
                info.linesWritten++;
                string displayedName = nick;
                if (world.config.GetBool("ClassPrefixesInChat"))
                {
                    displayedName = info.playerClass.prefix + displayedName;
                }
                if (world.config.GetBool("ClassColorsInChat") && info.playerClass.color != "" && info.playerClass.color != Color.White)
                {
                    displayedName = info.playerClass.color + displayedName + Color.White;
                }
                world.SendToAll(PacketWriter.MakeMessage(displayedName + ": " + message), null);
                world.log.Log("{0}: {1}", LogType.Chat, name, message);
                break;

            case MessageType.Command:
                world.log.Log("{0}: {1}", LogType.UserCommand, name, message);
                world.cmd.ParseCommand(this, message, fromConsole);
                break;

            case MessageType.PrivateChat:
                if (CheckChatSpam())
                {
                    return;
                }
                string otherPlayerName = message.Substring(1, message.IndexOf(' ') - 1);
                Player otherPlayer     = world.FindPlayer(otherPlayerName);
                if (otherPlayer != null)
                {
                    world.log.Log("{0} to {1}: {2}", LogType.Chat, name, otherPlayer.name, message);
                    otherPlayer.Send(PacketWriter.MakeMessage(Color.Gray + "from " + name + ": " + message.Substring(message.IndexOf(' ') + 1)));
                    Send(PacketWriter.MakeMessage(Color.Gray + "to " + otherPlayer.name + ": " + message.Substring(message.IndexOf(' ') + 1)));
                }
                else
                {
                    world.NoPlayerMessage(this, otherPlayerName);
                }
                break;

            case MessageType.ClassChat:
                if (CheckChatSpam())
                {
                    return;
                }
                string      className   = message.Substring(2, message.IndexOf(' ') - 2);
                PlayerClass playerClass = world.classes.FindClass(className);
                if (playerClass != null)
                {
                    world.log.Log("{0} to {1}: {2}", LogType.ClassChat, name, playerClass.name, message);
                    Packet classMsg = PacketWriter.MakeMessage(Color.Gray + "[" + playerClass.color + playerClass.name + Color.Gray + "]" + name + ": " + message.Substring(message.IndexOf(' ') + 1));
                    world.SendToClass(classMsg, playerClass);
                    if (info.playerClass != playerClass)
                    {
                        Send(classMsg);
                    }
                }
                else
                {
                    Message("No such class: \"" + className.Substring(1) + "\"");
                }
                break;
            }
        }