mirror of
https://github.com/opensim/opensim.git
synced 2026-05-15 03:15:41 +08:00
* Added instant message support for the local region. Grid support forthcoming.
This commit is contained in:
@@ -40,6 +40,7 @@ namespace OpenSim.Region.ClientStack
|
||||
{
|
||||
partial class ClientView
|
||||
{
|
||||
public event ImprovedInstantMessage OnInstantMessage;
|
||||
public event ChatFromViewer OnChatFromViewer;
|
||||
public event RezObject OnRezObject;
|
||||
public event GenericCall4 OnDeRezObject;
|
||||
@@ -236,6 +237,30 @@ namespace OpenSim.Region.ClientStack
|
||||
this.OutPacket(reply);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <remarks>TODO</remarks>
|
||||
/// <param name="message"></param>
|
||||
/// <param name="target"></param>
|
||||
public void SendInstantMessage(string message, LLUUID target)
|
||||
{
|
||||
ImprovedInstantMessagePacket msg = new ImprovedInstantMessagePacket();
|
||||
msg.AgentData.AgentID = this.AgentID;
|
||||
msg.AgentData.SessionID = this.SessionID;
|
||||
|
||||
msg.MessageBlock.Dialog = 0;
|
||||
msg.MessageBlock.FromGroup = false;
|
||||
msg.MessageBlock.ID = target.Combine(this.AgentID);
|
||||
msg.MessageBlock.Offline = 0;
|
||||
msg.MessageBlock.ParentEstateID = 0;
|
||||
msg.MessageBlock.Position = new LLVector3();
|
||||
msg.MessageBlock.RegionID = new LLUUID();
|
||||
msg.MessageBlock.Timestamp = 0;
|
||||
msg.MessageBlock.ToAgentID = target;
|
||||
|
||||
this.OutPacket(msg);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Send the region heightmap to the client
|
||||
|
||||
@@ -92,6 +92,20 @@ namespace OpenSim.Region.ClientStack
|
||||
this.OnChatFromViewer(message, type, fromPos, fromName, fromAgentID);
|
||||
}
|
||||
break;
|
||||
case PacketType.ImprovedInstantMessage:
|
||||
ImprovedInstantMessagePacket msgpack = (ImprovedInstantMessagePacket)Pack;
|
||||
|
||||
string IMfromName = Util.FieldToString(msgpack.MessageBlock.FromAgentName);
|
||||
string IMmessage = Util.FieldToString(msgpack.MessageBlock.Message);
|
||||
|
||||
if (OnInstantMessage != null)
|
||||
{
|
||||
this.OnInstantMessage(msgpack.AgentData.AgentID, msgpack.MessageBlock.ToAgentID,
|
||||
msgpack.MessageBlock.Timestamp, IMfromName, IMmessage);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case PacketType.RezObject:
|
||||
RezObjectPacket rezPacket = (RezObjectPacket)Pack;
|
||||
AgentInventory inven = this.m_inventoryCache.GetAgentsInventory(this.AgentID);
|
||||
|
||||
Reference in New Issue
Block a user