aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Interfaces/IDialogModule.cs15
-rw-r--r--OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs10
-rw-r--r--OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs11
3 files changed, 31 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Interfaces/IDialogModule.cs b/OpenSim/Region/Environment/Interfaces/IDialogModule.cs
index 4a648d6..b55ba26 100644
--- a/OpenSim/Region/Environment/Interfaces/IDialogModule.cs
+++ b/OpenSim/Region/Environment/Interfaces/IDialogModule.cs
@@ -90,6 +90,19 @@ namespace OpenSim.Region.Environment.Interfaces
90 /// <param name="fromAvatarID">The user sending the message</param> 90 /// <param name="fromAvatarID">The user sending the message</param>
91 /// <param name="fromAvatarName">The name of the user doing the sending</param> 91 /// <param name="fromAvatarName">The name of the user doing the sending</param>
92 /// <param name="message">The message being sent to the user</param> 92 /// <param name="message">The message being sent to the user</param>
93 void SendNotificationToUsersInRegion(UUID fromAvatarID, string fromAvatarName, string message); 93 void SendNotificationToUsersInRegion(UUID fromAvatarID, string fromAvatarName, string message);
94
95 /// <summary>
96 /// Send a notification to all users in the estate. This notification should remain around until the
97 /// user explicitly dismisses it.
98 /// </summary>
99 ///
100 /// On the Linden Labs Second Client (as of 1.21), this is a big blue box message on the upper right of the
101 /// screen.
102 ///
103 /// <param name="fromAvatarID">The user sending the message</param>
104 /// <param name="fromAvatarName">The name of the user doing the sending</param>
105 /// <param name="message">The message being sent to the user</param>
106 void SendNotificationToUsersInEstate(UUID fromAvatarID, string fromAvatarName, string message);
94 } 107 }
95} 108}
diff --git a/OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs
index b64ec71..014c536 100644
--- a/OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs
+++ b/OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs
@@ -99,7 +99,15 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Dialog
99 if (!presence.IsChildAgent) 99 if (!presence.IsChildAgent)
100 presence.ControllingClient.SendAlertMessage(message); 100 presence.ControllingClient.SendAlertMessage(message);
101 } 101 }
102 } 102 }
103
104 public void SendNotificationToUsersInEstate(
105 UUID fromAvatarID, string fromAvatarName, string message)
106 {
107 // TODO: This does not yet do what it says on the tin - it only sends the message to users in the same
108 // region as the sending avatar.
109 SendNotificationToUsersInRegion(fromAvatarID, fromAvatarName, message);
110 }
103 111
104 public void SendNotificationToUsersInRegion( 112 public void SendNotificationToUsersInRegion(
105 UUID fromAvatarID, string fromAvatarName, string message) 113 UUID fromAvatarID, string fromAvatarName, string message)
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
index 33e354e..d906bbd 100644
--- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
@@ -352,7 +352,8 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
352 } 352 }
353 } 353 }
354 354
355 private void SendSimulatorBlueBoxMessage(IClientAPI remote_client, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message) 355 private void SendSimulatorBlueBoxMessage(
356 IClientAPI remote_client, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message)
356 { 357 {
357 IDialogModule dm = m_scene.RequestModuleInterface<IDialogModule>(); 358 IDialogModule dm = m_scene.RequestModuleInterface<IDialogModule>();
358 359
@@ -360,9 +361,13 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
360 dm.SendNotificationToUsersInRegion(senderID, senderName, message); 361 dm.SendNotificationToUsersInRegion(senderID, senderName, message);
361 } 362 }
362 363
363 private void SendEstateBlueBoxMessage(IClientAPI remote_client, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message) 364 private void SendEstateBlueBoxMessage(
365 IClientAPI remote_client, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message)
364 { 366 {
365 m_scene.SendEstateMessageFromEstateTools(senderID, sessionID, senderName, message); 367 IDialogModule dm = m_scene.RequestModuleInterface<IDialogModule>();
368
369 if (dm != null)
370 dm.SendNotificationToUsersInEstate(senderID, senderName, message);
366 } 371 }
367 372
368 private void handleEstateDebugRegionRequest(IClientAPI remote_client, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics) 373 private void handleEstateDebugRegionRequest(IClientAPI remote_client, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics)