diff options
Diffstat (limited to 'OpenSim/Region/Environment')
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) |