From 0d594e4c426b3c3b766c7089fbcf70c218073e47 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 20 Jun 2022 06:49:43 +0100 Subject: [PATCH] a few changes cosmetic changes around OSChatMessage... --- OpenSim/Framework/OSChatMessage.cs | 110 +++--------------- OpenSim/Region/Application/OpenSimBase.cs | 1 - .../ClientStack/Linden/UDP/LLClientView.cs | 1 - .../CoreModules/Avatar/Chat/ChatModule.cs | 5 +- .../Server/IRCClientView.cs | 20 ++-- .../Avatar/Chat/IRCConnector.cs | 28 ++--- .../Avatar/Chat/RegionState.cs | 15 ++- .../Avatar/Concierge/ConciergeModule.cs | 43 +++---- .../RegionReadyModule/RegionReadyModule.cs | 2 - 9 files changed, 72 insertions(+), 153 deletions(-) diff --git a/OpenSim/Framework/OSChatMessage.cs b/OpenSim/Framework/OSChatMessage.cs index 7450be2f9d..264dcdc188 100644 --- a/OpenSim/Framework/OSChatMessage.cs +++ b/OpenSim/Framework/OSChatMessage.cs @@ -30,128 +30,56 @@ using OpenMetaverse; namespace OpenSim.Framework { - public interface IEventArgs - { - IScene Scene { get; set; } - IClientAPI Sender { get; set; } - } - /// /// ChatFromViewer Arguments /// - public class OSChatMessage : EventArgs, IEventArgs + public class OSChatMessage : EventArgs { - protected int m_channel; - protected string m_from; - protected string m_message; - protected Vector3 m_position; - - protected IScene m_scene; - protected IClientAPI m_sender; - protected object m_senderObject; - protected ChatTypeEnum m_type; - protected UUID m_fromID; - protected UUID m_destination = UUID.Zero; - - public OSChatMessage() - { - m_position = new Vector3(); - } - - /// - /// The message sent by the user - /// - public string Message - { - get { return m_message; } - set { m_message = value; } - } - /// /// The type of message, eg say, shout, broadcast. /// - public ChatTypeEnum Type - { - get { return m_type; } - set { m_type = value; } - } + public ChatTypeEnum Type { get; set; } /// /// Which channel was this message sent on? Different channels may have different listeners. Public chat is on channel zero. /// - public int Channel - { - get { return m_channel; } - set { m_channel = value; } - } - - /// - /// The position of the sender at the time of the message broadcast. - /// - public Vector3 Position - { - get { return m_position; } - set { m_position = value; } - } + public int Channel { get; set; } /// /// The name of the sender (needed for scripts) /// - public string From - { - get { return m_from; } - set { m_from = value; } - } + public string From { get; set; } - #region IEventArgs Members + /// + /// The message sent by the user + /// + public string Message { get; set; } - /// TODO: Sender and SenderObject should just be Sender and of - /// type IChatSender + /// + /// The position of the sender at the time of the message broadcast. + /// + public Vector3 Position { get; set; } /// /// The client responsible for sending the message, or null. /// - public IClientAPI Sender - { - get { return m_sender; } - set { m_sender = value; } - } - + public IClientAPI Sender { get; set; } /// /// The object responsible for sending the message, or null. /// - public object SenderObject - { - get { return m_senderObject; } - set { m_senderObject = value; } - } + public object SenderObject { get; set; } - public UUID SenderUUID - { - get { return m_fromID; } - set { m_fromID = value; } - } + public UUID SenderUUID { get; set; } + public UUID Destination { get; set; } + public IScene Scene { get; set; } - public UUID Destination + public OSChatMessage() { - get { return m_destination; } - set { m_destination = value; } - } - - /// - /// - /// - public IScene Scene - { - get { return m_scene; } - set { m_scene = value; } } public override string ToString() { - return m_message; + return Message; } - - #endregion } } diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 59a893d0d0..104aa9ff13 100755 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -916,7 +916,6 @@ namespace OpenSim httpResponse.KeepAlive = false; httpResponse.RawBuffer = binmsg; httpResponse.StatusCode = (int)HttpStatusCode.OK; - return; } } diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 8889cbe7bf..2057104a75 100755 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -8566,7 +8566,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP Position = SceneAgent.AbsolutePosition, Scene = Scene, - SenderUUID = m_agentId, Sender = this }; OnChatFromClient?.Invoke(this, args); diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs index 80ab3db336..54bb65e843 100644 --- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs @@ -224,7 +224,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat switch (sourceType) { case ChatSourceType.Agent: - ScenePresence avatar = (scene as Scene).GetScenePresence(c.Sender.AgentId); + ScenePresence avatar = scene.GetScenePresence(c.Sender.AgentId); if(avatar == null) return; fromPos = avatar.AbsolutePosition; @@ -355,7 +355,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat ownerID = c.Sender.AgentId; sourceType = ChatSourceType.Agent; } - else if (!c.SenderUUID.IsZero()) + else if (c.SenderUUID.IsNotZero()) { if(c.SenderObject == null) return; @@ -444,7 +444,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat } } - // TODO: should change so the message is sent through the avatar rather than direct to the ClientView presence.ControllingClient.SendChatMessage( message, (byte) type, fromPos, fromName, fromAgentID, ownerID, (byte)src, (byte)ChatAudibleLevel.Fully); diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 71bd37491b..eca00a0499 100755 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs @@ -360,16 +360,16 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server { if (OnChatFromClient != null) { - OSChatMessage msg = new OSChatMessage(); - msg.Sender = this; - msg.Channel = 0; - msg.From = this.Name; - msg.Message = privmsgArgs[1].Replace(":", ""); - msg.Position = Vector3.Zero; - msg.Scene = m_scene; - msg.SenderObject = null; - msg.SenderUUID = this.AgentId; - msg.Type = ChatTypeEnum.Say; + OSChatMessage msg = new OSChatMessage + { + Sender = this, + Channel = 0, + From = Name, + Message = privmsgArgs[1].Replace(":", ""), + Scene = m_scene, + SenderUUID = this.AgentId, + Type = ChatTypeEnum.Say + }; OnChatFromClient(this, msg); } diff --git a/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs b/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs index 5d5e300e2d..d60641c729 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs @@ -502,17 +502,15 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat // Any chat ??? if (data != null) { - OSChatMessage c = new OSChatMessage(); - c.Message = data["msg"]; - c.Type = ChatTypeEnum.Region; - c.Position = CenterOfRegion; - c.From = data["nick"] + "@IRC"; - c.Sender = null; - c.SenderUUID = UUID.Zero; + OSChatMessage c = new OSChatMessage + { + Message = data["msg"], + Type = ChatTypeEnum.Region, + From = data["nick"] + "@IRC" + }; // Is message "\001ACTION foo bar\001"? // Then change to: "/me foo bar" - if ((1 == c.Message[0]) && c.Message.Substring(1).StartsWith("ACTION")) c.Message = String.Format("/me {0}", c.Message.Substring(8, c.Message.Length - 9)); @@ -578,14 +576,12 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat { try { - OSChatMessage c = new OSChatMessage(); - c.From = sender; - c.Message = String.Format(format, args); - c.Type = ChatTypeEnum.Region; // ChatTypeEnum.Say; - c.Position = CenterOfRegion; - c.Sender = null; - c.SenderUUID = UUID.Zero; - + OSChatMessage c = new OSChatMessage + { + From = sender, + Message = String.Format(format, args), + Type = ChatTypeEnum.Region + }; ChannelState.OSChat(this, c, true); } diff --git a/OpenSim/Region/OptionalModules/Avatar/Chat/RegionState.cs b/OpenSim/Region/OptionalModules/Avatar/Chat/RegionState.cs index a3ef83b1bb..ef7d9fa430 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Chat/RegionState.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Chat/RegionState.cs @@ -435,14 +435,13 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat { if (enabled) { - OSChatMessage osm = new OSChatMessage(); - osm.From = "IRC Agent"; - osm.Message = msg; - osm.Type = ChatTypeEnum.Region; - osm.Position = CenterOfRegion; - osm.Sender = null; - osm.SenderUUID = OpenMetaverse.UUID.Zero; // Hmph! Still? - osm.Channel = 0; + OSChatMessage osm = new OSChatMessage() + { + From = "IRC Agent", + Message = msg, + Type = ChatTypeEnum.Region, + Channel = 0 + }; OSChat(this, osm); } } diff --git a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs index 0fb0b15cf5..42f7cc7763 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs @@ -517,31 +517,32 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge protected void AnnounceToAgentsRegion(IScene scene, string msg) { - OSChatMessage c = new OSChatMessage(); - c.Message = msg; - c.Type = ChatTypeEnum.Say; - c.Channel = 0; - c.Position = PosOfGod; - c.From = m_whoami; - c.Sender = null; - c.SenderUUID = UUID.Zero; - c.Scene = scene; - - if (scene is Scene) - (scene as Scene).EventManager.TriggerOnChatBroadcast(this, c); + if(scene is Scene) + { + OSChatMessage c = new OSChatMessage() + { + Message = msg, + Type = ChatTypeEnum.Say, + Channel = 0, + Position = PosOfGod, + From = m_whoami, + Scene = scene + }; + (scene as Scene)?.EventManager.TriggerOnChatBroadcast(this, c); + } } protected void AnnounceToAgent(ScenePresence agent, string msg) { - OSChatMessage c = new OSChatMessage(); - c.Message = msg; - c.Type = ChatTypeEnum.Say; - c.Channel = 0; - c.Position = PosOfGod; - c.From = m_whoami; - c.Sender = null; - c.SenderUUID = UUID.Zero; - c.Scene = agent.Scene; + OSChatMessage c = new OSChatMessage + { + Message = msg, + Type = ChatTypeEnum.Say, + Channel = 0, + Position = PosOfGod, + From = m_whoami, + Scene = agent.Scene + }; agent.ControllingClient.SendChatMessage( msg, (byte) ChatTypeEnum.Say, PosOfGod, m_whoami, UUID.Zero, UUID.Zero, diff --git a/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs b/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs index 72642ef043..9ec2205c53 100755 --- a/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs @@ -177,8 +177,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.RegionReady c.Position = new Vector3((m_scene.RegionInfo.RegionSizeX * 0.5f), (m_scene.RegionInfo.RegionSizeY * 0.5f), 30); else c.Position = new Vector3(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), 30); - c.Sender = null; - c.SenderUUID = UUID.Zero; c.Scene = m_scene; m_log.DebugFormat("[RegionReady]: Region \"{0}\" is ready: \"{1}\" on channel {2}",