a few changes cosmetic changes around OSChatMessage...

This commit is contained in:
UbitUmarov
2022-06-20 06:49:43 +01:00
parent 9af568307e
commit 0d594e4c42
9 changed files with 72 additions and 153 deletions

View File

@@ -30,128 +30,56 @@ using OpenMetaverse;
namespace OpenSim.Framework
{
public interface IEventArgs
{
IScene Scene { get; set; }
IClientAPI Sender { get; set; }
}
/// <summary>
/// ChatFromViewer Arguments
/// </summary>
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();
}
/// <summary>
/// The message sent by the user
/// </summary>
public string Message
{
get { return m_message; }
set { m_message = value; }
}
/// <summary>
/// The type of message, eg say, shout, broadcast.
/// </summary>
public ChatTypeEnum Type
{
get { return m_type; }
set { m_type = value; }
}
public ChatTypeEnum Type { get; set; }
/// <summary>
/// Which channel was this message sent on? Different channels may have different listeners. Public chat is on channel zero.
/// </summary>
public int Channel
{
get { return m_channel; }
set { m_channel = value; }
}
/// <summary>
/// The position of the sender at the time of the message broadcast.
/// </summary>
public Vector3 Position
{
get { return m_position; }
set { m_position = value; }
}
public int Channel { get; set; }
/// <summary>
/// The name of the sender (needed for scripts)
/// </summary>
public string From
{
get { return m_from; }
set { m_from = value; }
}
public string From { get; set; }
#region IEventArgs Members
/// <summary>
/// The message sent by the user
/// </summary>
public string Message { get; set; }
/// TODO: Sender and SenderObject should just be Sender and of
/// type IChatSender
/// <summary>
/// The position of the sender at the time of the message broadcast.
/// </summary>
public Vector3 Position { get; set; }
/// <summary>
/// The client responsible for sending the message, or null.
/// </summary>
public IClientAPI Sender
{
get { return m_sender; }
set { m_sender = value; }
}
public IClientAPI Sender { get; set; }
/// <summary>
/// The object responsible for sending the message, or null.
/// </summary>
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; }
}
/// <summary>
///
/// </summary>
public IScene Scene
{
get { return m_scene; }
set { m_scene = value; }
}
public override string ToString()
{
return m_message;
return Message;
}
#endregion
}
}

View File

@@ -916,7 +916,6 @@ namespace OpenSim
httpResponse.KeepAlive = false;
httpResponse.RawBuffer = binmsg;
httpResponse.StatusCode = (int)HttpStatusCode.OK;
return;
}
}

View File

@@ -8566,7 +8566,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
Position = SceneAgent.AbsolutePosition,
Scene = Scene,
SenderUUID = m_agentId,
Sender = this
};
OnChatFromClient?.Invoke(this, args);

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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,

View File

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