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}",