diff options
author | Adam Frisby | 2007-07-08 03:32:27 +0000 |
---|---|---|
committer | Adam Frisby | 2007-07-08 03:32:27 +0000 |
commit | bdab40280b64e31b763a99f6c2011e7e91e7d0fa (patch) | |
tree | 57540fafec9c125c0a9cae9db23dd069685a175f /OpenSim/Region/ClientStack | |
parent | * Updating prebuild (diff) | |
download | opensim-SC_OLD-bdab40280b64e31b763a99f6c2011e7e91e7d0fa.zip opensim-SC_OLD-bdab40280b64e31b763a99f6c2011e7e91e7d0fa.tar.gz opensim-SC_OLD-bdab40280b64e31b763a99f6c2011e7e91e7d0fa.tar.bz2 opensim-SC_OLD-bdab40280b64e31b763a99f6c2011e7e91e7d0fa.tar.xz |
* Added instant message support for the local region. Grid support forthcoming.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.API.cs | 25 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | 14 |
2 files changed, 39 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs index 9e7117f..cefe856 100644 --- a/OpenSim/Region/ClientStack/ClientView.API.cs +++ b/OpenSim/Region/ClientStack/ClientView.API.cs | |||
@@ -40,6 +40,7 @@ namespace OpenSim.Region.ClientStack | |||
40 | { | 40 | { |
41 | partial class ClientView | 41 | partial class ClientView |
42 | { | 42 | { |
43 | public event ImprovedInstantMessage OnInstantMessage; | ||
43 | public event ChatFromViewer OnChatFromViewer; | 44 | public event ChatFromViewer OnChatFromViewer; |
44 | public event RezObject OnRezObject; | 45 | public event RezObject OnRezObject; |
45 | public event GenericCall4 OnDeRezObject; | 46 | public event GenericCall4 OnDeRezObject; |
@@ -236,6 +237,30 @@ namespace OpenSim.Region.ClientStack | |||
236 | this.OutPacket(reply); | 237 | this.OutPacket(reply); |
237 | } | 238 | } |
238 | 239 | ||
240 | /// <summary> | ||
241 | /// | ||
242 | /// </summary> | ||
243 | /// <remarks>TODO</remarks> | ||
244 | /// <param name="message"></param> | ||
245 | /// <param name="target"></param> | ||
246 | public void SendInstantMessage(string message, LLUUID target) | ||
247 | { | ||
248 | ImprovedInstantMessagePacket msg = new ImprovedInstantMessagePacket(); | ||
249 | msg.AgentData.AgentID = this.AgentID; | ||
250 | msg.AgentData.SessionID = this.SessionID; | ||
251 | |||
252 | msg.MessageBlock.Dialog = 0; | ||
253 | msg.MessageBlock.FromGroup = false; | ||
254 | msg.MessageBlock.ID = target.Combine(this.AgentID); | ||
255 | msg.MessageBlock.Offline = 0; | ||
256 | msg.MessageBlock.ParentEstateID = 0; | ||
257 | msg.MessageBlock.Position = new LLVector3(); | ||
258 | msg.MessageBlock.RegionID = new LLUUID(); | ||
259 | msg.MessageBlock.Timestamp = 0; | ||
260 | msg.MessageBlock.ToAgentID = target; | ||
261 | |||
262 | this.OutPacket(msg); | ||
263 | } | ||
239 | 264 | ||
240 | /// <summary> | 265 | /// <summary> |
241 | /// Send the region heightmap to the client | 266 | /// Send the region heightmap to the client |
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs index 0114fb1..def14c7 100644 --- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs +++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | |||
@@ -92,6 +92,20 @@ namespace OpenSim.Region.ClientStack | |||
92 | this.OnChatFromViewer(message, type, fromPos, fromName, fromAgentID); | 92 | this.OnChatFromViewer(message, type, fromPos, fromName, fromAgentID); |
93 | } | 93 | } |
94 | break; | 94 | break; |
95 | case PacketType.ImprovedInstantMessage: | ||
96 | ImprovedInstantMessagePacket msgpack = (ImprovedInstantMessagePacket)Pack; | ||
97 | |||
98 | string IMfromName = Util.FieldToString(msgpack.MessageBlock.FromAgentName); | ||
99 | string IMmessage = Util.FieldToString(msgpack.MessageBlock.Message); | ||
100 | |||
101 | if (OnInstantMessage != null) | ||
102 | { | ||
103 | this.OnInstantMessage(msgpack.AgentData.AgentID, msgpack.MessageBlock.ToAgentID, | ||
104 | msgpack.MessageBlock.Timestamp, IMfromName, IMmessage); | ||
105 | } | ||
106 | |||
107 | break; | ||
108 | |||
95 | case PacketType.RezObject: | 109 | case PacketType.RezObject: |
96 | RezObjectPacket rezPacket = (RezObjectPacket)Pack; | 110 | RezObjectPacket rezPacket = (RezObjectPacket)Pack; |
97 | AgentInventory inven = this.m_inventoryCache.GetAgentsInventory(this.AgentID); | 111 | AgentInventory inven = this.m_inventoryCache.GetAgentsInventory(this.AgentID); |