diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 716aaa6..9b6e58d 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -248,8 +248,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
248 | Animations.LoadAnims(); | 248 | Animations.LoadAnims(); |
249 | 249 | ||
250 | //register for events | 250 | //register for events |
251 | m_controllingClient.OnRequestWearables += SendOurAppearance; | 251 | m_controllingClient.OnRequestWearables += SendAppearance; |
252 | m_controllingClient.OnSetAppearance += new SetAppearance(SetAppearance); | 252 | m_controllingClient.OnSetAppearance += SetAppearance; |
253 | m_controllingClient.OnCompleteMovementToRegion += CompleteMovement; | 253 | m_controllingClient.OnCompleteMovementToRegion += CompleteMovement; |
254 | m_controllingClient.OnCompleteMovementToRegion += SendInitialData; | 254 | m_controllingClient.OnCompleteMovementToRegion += SendInitialData; |
255 | m_controllingClient.OnAgentUpdate += HandleAgentUpdate; | 255 | m_controllingClient.OnAgentUpdate += HandleAgentUpdate; |
@@ -343,7 +343,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
343 | 343 | ||
344 | #region Status Methods | 344 | #region Status Methods |
345 | 345 | ||
346 | public void MakeAvatarPhysical(LLVector3 pos, bool isFlying) | 346 | public void MakeRootAgent(LLVector3 pos, bool isFlying) |
347 | { | 347 | { |
348 | m_newAvatar = true; | 348 | m_newAvatar = true; |
349 | m_isChildAgent = false; | 349 | m_isChildAgent = false; |
@@ -412,7 +412,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
412 | m_visualParams[i] = visualParam[i].ParamValue; | 412 | m_visualParams[i] = visualParam[i].ParamValue; |
413 | } | 413 | } |
414 | 414 | ||
415 | SendAppearanceToAllOtherAgents(); | 415 | SendAppearanceToAllOtherClients(); |
416 | } | 416 | } |
417 | 417 | ||
418 | /// <summary> | 418 | /// <summary> |
@@ -433,7 +433,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
433 | m_isChildAgent = false; | 433 | m_isChildAgent = false; |
434 | 434 | ||
435 | //this.m_scene.SendAllSceneObjectsToClient(this.ControllingClient); | 435 | //this.m_scene.SendAllSceneObjectsToClient(this.ControllingClient); |
436 | this.MakeAvatarPhysical(this.AbsolutePosition, false); | 436 | this.MakeRootAgent(this.AbsolutePosition, false); |
437 | } | 437 | } |
438 | } | 438 | } |
439 | 439 | ||
@@ -707,16 +707,19 @@ namespace OpenSim.Region.Environment.Scenes | |||
707 | 707 | ||
708 | public void SendFullUpdateToAllClients() | 708 | public void SendFullUpdateToAllClients() |
709 | { | 709 | { |
710 | List<ScenePresence> avatars = m_scene.GetScenePresences(); | 710 | List<ScenePresence> agents = m_scene.GetScenePresences(); |
711 | foreach (ScenePresence avatar in avatars) | 711 | foreach (ScenePresence agent in agents) |
712 | { | 712 | { |
713 | SendFullUpdateToOtherClient(avatar); | 713 | IClientAPI client = agent.ControllingClient; |
714 | if (avatar.LocalId != LocalId) | 714 | client.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_uuid, |
715 | LocalId, AbsolutePosition, m_textureEntry.ToBytes(), m_parentID ); | ||
716 | |||
717 | if (agent.LocalId != LocalId) | ||
715 | { | 718 | { |
716 | if (!avatar.m_isChildAgent) | 719 | if (!agent.m_isChildAgent) |
717 | { | 720 | { |
718 | avatar.SendFullUpdateToOtherClient(this); | 721 | client.SendAppearance(m_controllingClient.AgentId, m_visualParams, |
719 | avatar.SendAppearanceToOtherAgent(this); | 722 | m_textureEntry.ToBytes()); |
720 | } | 723 | } |
721 | } | 724 | } |
722 | } | 725 | } |
@@ -736,22 +739,28 @@ namespace OpenSim.Region.Environment.Scenes | |||
736 | } | 739 | } |
737 | 740 | ||
738 | SendFullUpdateToAllClients(); | 741 | SendFullUpdateToAllClients(); |
739 | SendAppearanceToAllOtherAgents(); | 742 | SendAppearanceToAllOtherClients(); |
740 | } | 743 | } |
741 | 744 | ||
742 | /// <summary> | 745 | public void SetWearable( int wearableId, AvatarWearable wearable ) |
743 | /// | 746 | { |
744 | /// </summary> | 747 | m_wearables[wearableId] = wearable; |
745 | /// <param name="OurClient"></param> | 748 | |
746 | public void SendOurAppearance(IClientAPI OurClient) | 749 | m_scene.ForEachClient( delegate( IClientAPI client ) |
750 | { | ||
751 | SendAppearance( client ); | ||
752 | }); | ||
753 | } | ||
754 | |||
755 | public void SendAppearance(IClientAPI client) | ||
747 | { | 756 | { |
748 | m_controllingClient.SendWearables(m_wearables); | 757 | client.SendWearables(m_wearables); |
749 | 758 | ||
750 | //this.SendFullUpdateToAllClients(); | 759 | //this.SendFullUpdateToAllClients(); |
751 | //this.SendAppearanceToAllOtherAgents(); | 760 | //this.SendAppearanceToAllOtherClients(); |
752 | 761 | ||
753 | m_scene.SendAllSceneObjectsToClient(this); | 762 | m_scene.SendAllSceneObjectsToClient(this); |
754 | m_controllingClient.SendViewerTime(m_scene.TimePhase); | 763 | client.SendViewerTime(m_scene.TimePhase); |
755 | 764 | ||
756 | //Please don't remove the following code (at least not yet), just leave it commented out | 765 | //Please don't remove the following code (at least not yet), just leave it commented out |
757 | //gives the user god powers, should help with debuging things in the future | 766 | //gives the user god powers, should help with debuging things in the future |
@@ -767,25 +776,16 @@ namespace OpenSim.Region.Environment.Scenes | |||
767 | /// <summary> | 776 | /// <summary> |
768 | /// | 777 | /// |
769 | /// </summary> | 778 | /// </summary> |
770 | public void SendAppearanceToAllOtherAgents() | 779 | public void SendAppearanceToAllOtherClients() |
771 | { | 780 | { |
772 | m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) | 781 | m_scene.ForEachClient(delegate(IClientAPI client) |
773 | { | 782 | { |
774 | if (scenePresence != this) | 783 | if( client != m_controllingClient ) |
775 | { | 784 | { |
776 | SendAppearanceToOtherAgent(scenePresence); | 785 | client.SendAppearance(m_controllingClient.AgentId, m_visualParams, |
777 | } | 786 | m_textureEntry.ToBytes() ); |
778 | }); | 787 | } |
779 | } | 788 | }); |
780 | |||
781 | /// <summary> | ||
782 | /// | ||
783 | /// </summary> | ||
784 | /// <param name="avatarInfo"></param> | ||
785 | public void SendAppearanceToOtherAgent(ScenePresence avatarInfo) | ||
786 | { | ||
787 | avatarInfo.m_controllingClient.SendAppearance(m_controllingClient.AgentId, m_visualParams, | ||
788 | m_textureEntry.ToBytes()); | ||
789 | } | 789 | } |
790 | 790 | ||
791 | /// <summary> | 791 | /// <summary> |