示例#1
0
    public void SendChatMessage()
    {
        if (BasePlayerCharacterController.OwningCharacter == null)
        {
            return;
        }

        var trimText = EnterChatMessage.Trim();

        if (trimText.Length == 0)
        {
            return;
        }

        EnterChatMessage = string.Empty;
        var channel     = ChatChannel.Global;
        var message     = trimText;
        var sender      = BasePlayerCharacterController.OwningCharacter.CharacterName;
        var receiver    = string.Empty;
        var splitedText = trimText.Split(' ');

        if (splitedText.Length > 0)
        {
            var cmd = splitedText[0];
            if (cmd == whisperCommand && splitedText.Length > 2)
            {
                channel          = ChatChannel.Whisper;
                receiver         = splitedText[1];
                message          = trimText.Substring(cmd.Length + receiver.Length + 1);    // +1 for space
                EnterChatMessage = trimText.Substring(0, cmd.Length + receiver.Length + 1); // +1 for space
            }
        }
        CacheGameNetworkManager.EnterChat(channel, message, sender, receiver);
        HideEnterChatField();
    }
        public void SendChatMessage()
        {
            if (BasePlayerCharacterController.OwningCharacter == null)
            {
                return;
            }

            string trimText = EnterChatMessage.Trim();

            if (trimText.Length == 0)
            {
                return;
            }

            EnterChatMessage = string.Empty;
            ChatChannel channel  = ChatChannel.Local;
            string      message  = trimText;
            string      sender   = BasePlayerCharacterController.OwningCharacter.CharacterName;
            string      receiver = string.Empty;

            string[] splitedText = trimText.Split(' ');
            if (splitedText.Length > 0)
            {
                string cmd = splitedText[0];
                if (cmd == whisperCommand && splitedText.Length > 2)
                {
                    channel          = ChatChannel.Whisper;
                    receiver         = splitedText[1];
                    message          = trimText.Substring(cmd.Length + receiver.Length + 1);    // +1 for space
                    EnterChatMessage = trimText.Substring(0, cmd.Length + receiver.Length + 1); // +1 for space
                }
                if ((cmd == globalCommand || cmd == partyCommand || cmd == guildCommand) && splitedText.Length > 1)
                {
                    if (cmd == globalCommand)
                    {
                        channel = ChatChannel.Global;
                    }
                    if (cmd == partyCommand)
                    {
                        channel = ChatChannel.Party;
                    }
                    if (cmd == guildCommand)
                    {
                        channel = ChatChannel.Guild;
                    }
                    message          = trimText.Substring(cmd.Length + 1);    // +1 for space
                    EnterChatMessage = trimText.Substring(0, cmd.Length + 1); // +1 for space
                }
            }
            BaseGameNetworkManager.Singleton.EnterChat(channel, message, sender, receiver);
            HideEnterChatField();
        }