aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Interfaces/IDialogModule.cs8
-rw-r--r--OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs15
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs34
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneManager.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs6
5 files changed, 34 insertions, 31 deletions
diff --git a/OpenSim/Region/Environment/Interfaces/IDialogModule.cs b/OpenSim/Region/Environment/Interfaces/IDialogModule.cs
index 15f0471..1e5c791 100644
--- a/OpenSim/Region/Environment/Interfaces/IDialogModule.cs
+++ b/OpenSim/Region/Environment/Interfaces/IDialogModule.cs
@@ -54,6 +54,12 @@ namespace OpenSim.Region.Environment.Interfaces
54 /// <param name="lastName"></param> 54 /// <param name="lastName"></param>
55 /// <param name="message"></param> 55 /// <param name="message"></param>
56 /// <param name="modal"></param> 56 /// <param name="modal"></param>
57 void SendAlertToUser(string firstName, string lastName, string message, bool modal); 57 void SendAlertToUser(string firstName, string lastName, string message, bool modal);
58
59 /// <summary>
60 /// Send an alert messages to all avatars in the scene.
61 /// </summary>
62 /// <param name="message"></param>
63 void SendGeneralAlert(string message);
58 } 64 }
59} 65}
diff --git a/OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs
index e036c73..14a05ae 100644
--- a/OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs
+++ b/OpenSim/Region/Environment/Modules/Avatar/Dialog/DialogModule.cs
@@ -78,6 +78,21 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Dialog
78 break; 78 break;
79 } 79 }
80 } 80 }
81 }
82
83 /// <summary>
84 /// Send an alert messages to all avatars in this scene.
85 /// </summary>
86 /// <param name="message"></param>
87 public void SendGeneralAlert(string message)
88 {
89 List<ScenePresence> presenceList = m_scene.GetScenePresences();
90
91 foreach (ScenePresence presence in presenceList)
92 {
93 if (!presence.IsChildAgent)
94 presence.ControllingClient.SendAlertMessage(message);
95 }
81 } 96 }
82 } 97 }
83} 98}
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index c3f2417..43354e6 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -148,6 +148,7 @@ namespace OpenSim.Region.Environment.Scenes
148 protected IRegionSerialiserModule m_serialiser; 148 protected IRegionSerialiserModule m_serialiser;
149 protected IInterregionCommsOut m_interregionCommsOut; 149 protected IInterregionCommsOut m_interregionCommsOut;
150 protected IInterregionCommsIn m_interregionCommsIn; 150 protected IInterregionCommsIn m_interregionCommsIn;
151 protected IDialogModule m_dialogModule;
151 152
152 // Central Update Loop 153 // Central Update Loop
153 154
@@ -549,7 +550,7 @@ namespace OpenSim.Region.Environment.Scenes
549 if (seconds < 15) 550 if (seconds < 15)
550 { 551 {
551 m_restartTimer.Stop(); 552 m_restartTimer.Stop();
552 SendGeneralAlert("Restart Aborted"); 553 m_dialogModule.SendGeneralAlert("Restart Aborted");
553 } 554 }
554 else 555 else
555 { 556 {
@@ -775,6 +776,7 @@ namespace OpenSim.Region.Environment.Scenes
775 m_serialiser = RequestModuleInterface<IRegionSerialiserModule>(); 776 m_serialiser = RequestModuleInterface<IRegionSerialiserModule>();
776 m_interregionCommsOut = RequestModuleInterface<IInterregionCommsOut>(); 777 m_interregionCommsOut = RequestModuleInterface<IInterregionCommsOut>();
777 m_interregionCommsIn = RequestModuleInterface<IInterregionCommsIn>(); 778 m_interregionCommsIn = RequestModuleInterface<IInterregionCommsIn>();
779 m_dialogModule = RequestModuleInterface<IDialogModule>();
778 } 780 }
779 781
780 #endregion 782 #endregion
@@ -3428,26 +3430,9 @@ namespace OpenSim.Region.Environment.Scenes
3428 3430
3429 #endregion 3431 #endregion
3430 3432
3431 #region Console Commands
3432
3433 #region Alert Methods 3433 #region Alert Methods
3434 3434
3435 /// <summary> 3435 /// <summary>
3436 /// Send an alert messages to all avatars in this scene.
3437 /// </summary>
3438 /// <param name="message"></param>
3439 public void SendGeneralAlert(string message)
3440 {
3441 List<ScenePresence> presenceList = GetScenePresences();
3442
3443 foreach (ScenePresence presence in presenceList)
3444 {
3445 if (!presence.IsChildAgent)
3446 presence.ControllingClient.SendAlertMessage(message);
3447 }
3448 }
3449
3450 /// <summary>
3451 /// Handle a request for admin rights 3436 /// Handle a request for admin rights
3452 /// </summary> 3437 /// </summary>
3453 /// <param name="agentID"></param> 3438 /// <param name="agentID"></param>
@@ -3616,17 +3601,12 @@ namespace OpenSim.Region.Environment.Scenes
3616 if (commandParams[0] == "general") 3601 if (commandParams[0] == "general")
3617 { 3602 {
3618 string message = CombineParams(commandParams, 1); 3603 string message = CombineParams(commandParams, 1);
3619 SendGeneralAlert(message); 3604 m_dialogModule.SendGeneralAlert(message);
3620 } 3605 }
3621 else 3606 else
3622 { 3607 {
3623 IDialogModule dm = RequestModuleInterface<IDialogModule>(); 3608 string message = CombineParams(commandParams, 2);
3624 3609 m_dialogModule.SendAlertToUser(commandParams[0], commandParams[1], message, false);
3625 if (dm != null)
3626 {
3627 string message = CombineParams(commandParams, 2);
3628 dm.SendAlertToUser(commandParams[0], commandParams[1], message, false);
3629 }
3630 } 3610 }
3631 } 3611 }
3632 3612
@@ -3727,8 +3707,6 @@ namespace OpenSim.Region.Environment.Scenes
3727 } 3707 }
3728 } 3708 }
3729 3709
3730 #endregion
3731
3732 #region Script Handling Methods 3710 #region Script Handling Methods
3733 3711
3734 /// <summary> 3712 /// <summary>
diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs
index d585b48..5541454 100644
--- a/OpenSim/Region/Environment/Scenes/SceneManager.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs
@@ -310,7 +310,7 @@ namespace OpenSim.Region.Environment.Scenes
310 310
311 public void SendGeneralMessage(string msg) 311 public void SendGeneralMessage(string msg)
312 { 312 {
313 ForEachCurrentScene(delegate(Scene scene) { scene.SendGeneralAlert(msg); }); 313 ForEachCurrentScene(delegate(Scene scene) { scene.HandleAlertCommand(new string[] { "general", msg }); });
314 } 314 }
315 315
316 public bool TrySetCurrentScene(string regionName) 316 public bool TrySetCurrentScene(string regionName)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 8a380ad..a9ee88a 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -329,7 +329,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
329 CheckThreatLevel(ThreatLevel.VeryHigh, "osRegionNotice"); 329 CheckThreatLevel(ThreatLevel.VeryHigh, "osRegionNotice");
330 330
331 m_host.AddScriptLPS(1); 331 m_host.AddScriptLPS(1);
332 World.SendGeneralAlert(msg); 332
333 IDialogModule dm = World.RequestModuleInterface<IDialogModule>();
334
335 if (dm != null)
336 dm.SendGeneralAlert(msg);
333 } 337 }
334 338
335 public void osSetRot(UUID target, Quaternion rotation) 339 public void osSetRot(UUID target, Quaternion rotation)