Aurora.Addon.IRCChat.IRCParcelService.chatting C# (CSharp) Method

chatting() private method

private chatting ( Object sender, IrcMessageEventArgs e, IScenePresence presence ) : void
sender Object
e IrcMessageEventArgs
presence IScenePresence
return void
        private void chatting(Object sender, IrcMessageEventArgs<TextMessage> e, IScenePresence presence)
        {
            IChatModule chatModule = m_scene.RequestModuleInterface<IChatModule>();
            if(chatModule != null)
            {
                if(e.Message.Targets.Count > 0 && e.Message.Targets[0] == clients[presence.UUID].User.Nick)
                {
                    UUID fakeUUID;
                    if(!m_ircUsersToFakeUUIDs.TryGetValue(e.Message.Sender.UserName, out fakeUUID))
                    {
                        fakeUUID = UUID.Random();
                        m_ircUsersToFakeUUIDs[e.Message.Sender.UserName] = fakeUUID;
                    }
                    presence.ControllingClient.SendInstantMessage(new GridInstantMessage()
                        {
                            FromAgentID = fakeUUID,
                            FromAgentName = e.Message.Sender.Nick,
                            ToAgentID = presence.UUID,
                            Dialog = (byte)InstantMessageDialog.MessageFromAgent,
                            Message = e.Message.Text,
                            FromGroup = false,
                            SessionID = UUID.Zero,
                            Offline = 0,
                            BinaryBucket = new byte[0],
                            Timestamp = (uint)Util.UnixTimeSinceEpoch()
                        });
                }
                else
                    chatModule.TrySendChatMessage(presence, presence.AbsolutePosition, UUID.Zero,
                        e.Message.Targets[0] + " - " + e.Message.Sender.Nick, ChatTypeEnum.Say, e.Message.Text, ChatSourceType.Agent, 20);
            }
        }