* refactor: move code for sending a message to all users in a region to the DialogModule
parent
b0a59c3bf3
commit
17f783457b
|
@ -6056,9 +6056,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
(float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[5].Parameter)),
|
||||
Convert.ToInt16(Utils.BytesToString(messagePacket.ParamList[6].Parameter)),
|
||||
convertParamStringToBool(messagePacket.ParamList[7].Parameter), convertParamStringToBool(messagePacket.ParamList[8].Parameter));
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
// case "texturebase":
|
||||
// if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
|
||||
|
|
|
@ -34,7 +34,8 @@ namespace OpenSim.Region.Environment.Interfaces
|
|||
public interface IDialogModule
|
||||
{
|
||||
/// <summary>
|
||||
/// Send a non-modal alert message to a particular user.
|
||||
/// Send a non-modal alert message to a particular user. This can disappear from the user's view after a
|
||||
/// small interval.
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="message"></param>
|
||||
|
@ -73,9 +74,22 @@ namespace OpenSim.Region.Environment.Interfaces
|
|||
void SendAlertToUser(string firstName, string lastName, string message, bool modal);
|
||||
|
||||
/// <summary>
|
||||
/// Send an alert messages to all avatars in the scene.
|
||||
/// Send an alert message to all users in the scene.
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
void SendGeneralAlert(string message);
|
||||
|
||||
/// <summary>
|
||||
/// Send a notification to all users in the scene. This notification should remain around until the
|
||||
/// user explicitly dismisses it.
|
||||
/// </summary>
|
||||
///
|
||||
/// On the Linden Labs Second Client (as of 1.21), this is a big blue box message on the upper right of the
|
||||
/// screen.
|
||||
///
|
||||
/// <param name="fromAvatarID">The user sending the message</param>
|
||||
/// <param name="fromAvatarName">The name of the user doing the sending</param>
|
||||
/// <param name="message">The message being sent to the user</param>
|
||||
void SendNotificationToUsersInRegion(UUID fromAvatarID, string fromAvatarName, string message);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -90,10 +90,6 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Dialog
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Send an alert messages to all avatars in this scene.
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
public void SendGeneralAlert(string message)
|
||||
{
|
||||
List<ScenePresence> presenceList = m_scene.GetScenePresences();
|
||||
|
@ -104,5 +100,17 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Dialog
|
|||
presence.ControllingClient.SendAlertMessage(message);
|
||||
}
|
||||
}
|
||||
|
||||
public void SendNotificationToUsersInRegion(
|
||||
UUID fromAvatarID, string fromAvatarName, string message)
|
||||
{
|
||||
List<ScenePresence> presenceList = m_scene.GetScenePresences();
|
||||
|
||||
foreach (ScenePresence presence in presenceList)
|
||||
{
|
||||
if (!presence.IsChildAgent)
|
||||
presence.ControllingClient.SendBlueBoxMessage(fromAvatarID, fromAvatarName, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,8 +51,6 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
|
||||
private void sendDetailedEstateData(IClientAPI remote_client, UUID invoice)
|
||||
{
|
||||
//SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant)
|
||||
|
||||
uint sun = 0;
|
||||
|
||||
if (!m_scene.RegionInfo.EstateSettings.UseGlobalTime)
|
||||
|
@ -356,7 +354,10 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
|
||||
private void SendSimulatorBlueBoxMessage(IClientAPI remote_client, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message)
|
||||
{
|
||||
m_scene.SendRegionMessageFromEstateTools(senderID, sessionID, senderName, message);
|
||||
IDialogModule dm = m_scene.RequestModuleInterface<IDialogModule>();
|
||||
|
||||
if (dm != null)
|
||||
dm.SendNotificationToUsersInRegion(senderID, senderName, message);
|
||||
}
|
||||
|
||||
private void SendEstateBlueBoxMessage(IClientAPI remote_client, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message)
|
||||
|
|
|
@ -560,10 +560,10 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
m_RestartTimerCounter = 0;
|
||||
m_restartTimer.AutoReset = true;
|
||||
m_restartTimer.Elapsed += new ElapsedEventHandler(RestartTimer_Elapsed);
|
||||
m_log.Error("[REGION]: Restarting Region in " + (seconds / 60) + " minutes");
|
||||
m_log.Info("[REGION]: Restarting Region in " + (seconds / 60) + " minutes");
|
||||
m_restartTimer.Start();
|
||||
SendRegionMessageFromEstateTools(UUID.Random(), UUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in 2 Minutes");
|
||||
//SendGeneralAlert(RegionInfo.RegionName + ": Restarting in 2 Minutes");
|
||||
m_dialogModule.SendNotificationToUsersInRegion(
|
||||
UUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in 2 Minutes");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -577,11 +577,10 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
if (m_RestartTimerCounter <= m_incrementsof15seconds)
|
||||
{
|
||||
if (m_RestartTimerCounter == 4 || m_RestartTimerCounter == 6 || m_RestartTimerCounter == 7)
|
||||
SendRegionMessageFromEstateTools(UUID.Random(), UUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in " +
|
||||
((8 - m_RestartTimerCounter) * 15) + " seconds");
|
||||
|
||||
// SendGeneralAlert(RegionInfo.RegionName + ": Restarting in " + ((8 - m_RestartTimerCounter)*15) +
|
||||
//" seconds");
|
||||
m_dialogModule.SendNotificationToUsersInRegion(
|
||||
UUID.Random(),
|
||||
String.Empty,
|
||||
RegionInfo.RegionName + ": Restarting in " + ((8 - m_RestartTimerCounter) * 15) + " seconds");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3475,25 +3474,6 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sends a Big Blue Box message on the upper right of the screen to the client
|
||||
/// for all agents in the region
|
||||
/// </summary>
|
||||
/// <param name="FromAvatarID">The person sending the message</param>
|
||||
/// <param name="fromSessionID">The session of the person sending the message</param>
|
||||
/// <param name="FromAvatarName">The name of the person doing the sending</param>
|
||||
/// <param name="Message">The Message being sent to the user</param>
|
||||
public void SendRegionMessageFromEstateTools(UUID FromAvatarID, UUID fromSessionID, String FromAvatarName, String Message)
|
||||
{
|
||||
List<ScenePresence> presenceList = GetScenePresences();
|
||||
|
||||
foreach (ScenePresence presence in presenceList)
|
||||
{
|
||||
if (!presence.IsChildAgent)
|
||||
presence.ControllingClient.SendBlueBoxMessage(FromAvatarID, FromAvatarName, Message);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sends a Big Blue Box message on the upper right of the screen to the client
|
||||
/// for all agents in the estate
|
||||
|
|
Loading…
Reference in New Issue