diff options
author | Dan Lake | 2011-11-03 17:06:08 -0700 |
---|---|---|
committer | Dan Lake | 2011-11-03 17:06:08 -0700 |
commit | 94dc7d07ebc22ce0e0d9b77e91538ddc90799bee (patch) | |
tree | 0d2ffc74fa937af0ca5d9e6fb2fafeac2c37dd61 /OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs | |
parent | remove the pointless check of the face texture struct against null in Bot.Obj... (diff) | |
download | opensim-SC-94dc7d07ebc22ce0e0d9b77e91538ddc90799bee.zip opensim-SC-94dc7d07ebc22ce0e0d9b77e91538ddc90799bee.tar.gz opensim-SC-94dc7d07ebc22ce0e0d9b77e91538ddc90799bee.tar.bz2 opensim-SC-94dc7d07ebc22ce0e0d9b77e91538ddc90799bee.tar.xz |
Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls to
the 3 iteration functions so more of them are using the correct
iteration for the action they are performing. The 3 iterators that seem
to fit all actions within OpenSim at this time are:
ForEachAvatar: Perform an action on all avatars (root presences)
ForEachClient: Perform an action on all clients (root or child clients)
ForEachRootClient: Perform an action on all clients that have an avatar
There are still a dozen places or so calling the old
ForEachScenePresence that will take a little more refactoring to
eliminate.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs index f5cc4c3..783a03b 100644 --- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs | |||
@@ -228,7 +228,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat | |||
228 | 228 | ||
229 | foreach (Scene s in m_scenes) | 229 | foreach (Scene s in m_scenes) |
230 | { | 230 | { |
231 | s.ForEachScenePresence( | 231 | // This should use ForEachClient, but clients don't have a position. |
232 | // If camera is moved into client, then camera position can be used | ||
233 | s.ForEachAvatar( | ||
232 | delegate(ScenePresence presence) | 234 | delegate(ScenePresence presence) |
233 | { | 235 | { |
234 | if (TrySendChatMessage(presence, fromPos, regionPos, fromID, fromName, c.Type, message, sourceType)) | 236 | if (TrySendChatMessage(presence, fromPos, regionPos, fromID, fromName, c.Type, message, sourceType)) |
@@ -279,11 +281,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat | |||
279 | 281 | ||
280 | HashSet<UUID> receiverIDs = new HashSet<UUID>(); | 282 | HashSet<UUID> receiverIDs = new HashSet<UUID>(); |
281 | 283 | ||
282 | ((Scene)c.Scene).ForEachRootScenePresence( | 284 | ((Scene)c.Scene).ForEachRootClient( |
283 | delegate(ScenePresence presence) | 285 | delegate(IClientAPI client) |
284 | { | 286 | { |
285 | IClientAPI client = presence.ControllingClient; | ||
286 | |||
287 | // don't forward SayOwner chat from objects to | 287 | // don't forward SayOwner chat from objects to |
288 | // non-owner agents | 288 | // non-owner agents |
289 | if ((c.Type == ChatTypeEnum.Owner) && | 289 | if ((c.Type == ChatTypeEnum.Owner) && |
@@ -292,8 +292,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat | |||
292 | return; | 292 | return; |
293 | 293 | ||
294 | client.SendChatMessage(c.Message, (byte)cType, CenterOfRegion, fromName, fromID, | 294 | client.SendChatMessage(c.Message, (byte)cType, CenterOfRegion, fromName, fromID, |
295 | (byte)sourceType, (byte)ChatAudibleLevel.Fully); | 295 | (byte)sourceType, (byte)ChatAudibleLevel.Fully); |
296 | receiverIDs.Add(presence.UUID); | 296 | receiverIDs.Add(client.AgentId); |
297 | }); | 297 | }); |
298 | 298 | ||
299 | (c.Scene as Scene).EventManager.TriggerOnChatToClients( | 299 | (c.Scene as Scene).EventManager.TriggerOnChatToClients( |