a few changes cosmetic changes around OSChatMessage...
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -916,7 +916,6 @@ namespace OpenSim
|
||||
httpResponse.KeepAlive = false;
|
||||
httpResponse.RawBuffer = binmsg;
|
||||
httpResponse.StatusCode = (int)HttpStatusCode.OK;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8566,7 +8566,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
Position = SceneAgent.AbsolutePosition,
|
||||
|
||||
Scene = Scene,
|
||||
SenderUUID = m_agentId,
|
||||
Sender = this
|
||||
};
|
||||
OnChatFromClient?.Invoke(this, args);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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}",
|
||||
|
||||
Reference in New Issue
Block a user