TriggerOnChatBroadcast() public method

public TriggerOnChatBroadcast ( Object sender, OSChatMessage chat ) : void
sender Object
chat OSChatMessage
return void
Beispiel #1
0
        /// <summary>
        /// Sends a chat message to clients in the region
        /// </summary>
        /// <param name="message">The message to send to users</param>
        /// <param name="type">The type of message (say, shout, whisper, owner say, etc)</param>
        /// <param name="channel">The channel to speak the message on</param>
        /// <param name="fromPos">The position of the speaker (the SceneObjectPart or ScenePresence)</param>
        /// <param name="fromName">The name of the speaker (the SceneObjectPart or ScenePresence)</param>
        /// <param name="fromID">The UUID of the speaker (the SceneObjectPart or ScenePresence)</param>
        /// <param name="destID">The user or object that is being spoken to (UUID.Zero specifies all users will get the message)</param>
        /// <param name="generatingAvatarID">The avatar ID that has generated this message regardless of
        /// if it is a script owned by this avatar, or the avatar itself</param>
        /// <param name="broadcast">Whether the message will be sent regardless of distance from the sender</param>
        public void SimChat(string message, ChatTypeEnum type, int channel, Vector3 fromPos,
                            string fromName, UUID fromID, UUID destID, UUID generatingAvatarID, bool broadcast)
        {
            OSChatMessage args = new OSChatMessage()
            {
                Channel            = channel,
                DestinationUUID    = destID,
                From               = fromName,
                GeneratingAvatarID = generatingAvatarID,
                Message            = message,
                Position           = fromPos,
                Scene              = this,
                SenderUUID         = fromID,
                Type               = type
            };

            if (broadcast)
            {
                EventManager.TriggerOnChatBroadcast(this, args);
            }
            else
            {
                EventManager.TriggerOnChatFromWorld(this, args);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Send chat to listeners.
        /// </summary>
        /// <param name='message'></param>
        /// <param name='type'>/param>
        /// <param name='channel'></param>
        /// <param name='fromPos'></param>
        /// <param name='fromName'></param>
        /// <param name='fromID'></param>
        /// <param name='targetID'></param>
        /// <param name='fromAgent'></param>
        /// <param name='broadcast'></param>
        public void SimChat(byte[] message, ChatTypeEnum type, int channel, Vector3 fromPos, string fromName,
                            UUID fromID, UUID targetID, bool fromAgent, bool broadcast)
        {
            OSChatMessage args = new OSChatMessage();

            args.Message     = Utils.BytesToString(message);
            args.Channel     = channel;
            args.Type        = type;
            args.Position    = fromPos;
            args.SenderUUID  = fromID;
            args.Scene       = this;
            args.Destination = targetID;

            if (fromAgent)
            {
                ScenePresence user = GetScenePresence(fromID);
                if (user != null)
                {
                    args.Sender = user.ControllingClient;
                }
            }
            else
            {
                SceneObjectPart obj = GetSceneObjectPart(fromID);
                args.SenderObject = obj;
            }

            args.From = fromName;
            //args.

//            m_log.DebugFormat(
//                "[SCENE]: Sending message {0} on channel {1}, type {2} from {3}, broadcast {4}",
//                args.Message.Replace("\n", "\\n"), args.Channel, args.Type, fromName, broadcast);

            if (broadcast)
            {
                EventManager.TriggerOnChatBroadcast(this, args);
            }
            else
            {
                EventManager.TriggerOnChatFromWorld(this, args);
            }
        }
        protected void SimChat(byte[] message, ChatTypeEnum type, int channel, Vector3 fromPos, string fromName,
                               UUID fromID, bool fromAgent, bool broadcast)
        {
            OSChatMessage args = new OSChatMessage();

            args.Message    = Utils.BytesToString(message);
            args.Channel    = channel;
            args.Type       = type;
            args.Position   = fromPos;
            args.SenderUUID = fromID;
            args.Scene      = this;

            if (fromAgent)
            {
                ScenePresence user = GetScenePresence(fromID);
                if (user != null)
                {
                    args.Sender = user.ControllingClient;
                }
            }
            else
            {
                SceneObjectPart obj = GetSceneObjectPart(fromID);
                args.SenderObject = obj;
            }

            args.From = fromName;
            //args.

            if (broadcast)
            {
                EventManager.TriggerOnChatBroadcast(this, args);
            }
            else
            {
                EventManager.TriggerOnChatFromWorld(this, args);
            }
        }