aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs82
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>