aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs57
1 files changed, 53 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
index 4638d70..86610c0 100644
--- a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
+++ b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs
@@ -38,6 +38,33 @@ namespace OpenSim.Region.Environment.Scenes
38 get { return new LLVector3(0, 0, 0); } 38 get { return new LLVector3(0, 0, 0); }
39 } 39 }
40 40
41 public override LLVector3 Pos
42 {
43 get { return m_rootPart.GroupPosition; }
44 set
45 {
46 lock (this.m_parts)
47 {
48 foreach (AllNewSceneObjectPart2 part in this.m_parts.Values)
49 {
50 part.GroupPosition = value;
51 }
52 }
53 }
54 }
55
56 public override uint LocalId
57 {
58 get { return m_rootPart.LocalID; }
59 set { m_rootPart.LocalID = value; }
60 }
61
62 public override LLUUID UUID
63 {
64 get { return m_rootPart.UUID; }
65 set { m_rootPart.UUID = value; }
66 }
67
41 /// <summary> 68 /// <summary>
42 /// 69 ///
43 /// </summary> 70 /// </summary>
@@ -370,7 +397,7 @@ namespace OpenSim.Region.Environment.Scenes
370 /// <param name="pos"></param> 397 /// <param name="pos"></param>
371 public void UpdateGroupPosition(LLVector3 pos) 398 public void UpdateGroupPosition(LLVector3 pos)
372 { 399 {
373 this.m_pos = pos; 400 this.Pos = pos;
374 } 401 }
375 402
376 /// <summary> 403 /// <summary>
@@ -442,7 +469,7 @@ namespace OpenSim.Region.Environment.Scenes
442 public void UpdateGroupRotation(LLVector3 pos, LLQuaternion rot) 469 public void UpdateGroupRotation(LLVector3 pos, LLQuaternion rot)
443 { 470 {
444 this.m_rootPart.UpdateRotation(rot); 471 this.m_rootPart.UpdateRotation(rot);
445 this.m_pos = pos; 472 this.Pos = pos;
446 } 473 }
447 474
448 /// <summary> 475 /// <summary>
@@ -500,8 +527,8 @@ namespace OpenSim.Region.Environment.Scenes
500 private void SetPartAsRoot(AllNewSceneObjectPart2 part) 527 private void SetPartAsRoot(AllNewSceneObjectPart2 part)
501 { 528 {
502 this.m_rootPart = part; 529 this.m_rootPart = part;
503 this.m_uuid = part.UUID; 530 //this.m_uuid= part.UUID;
504 this.m_localId = part.LocalID; 531 // this.m_localId = part.LocalID;
505 } 532 }
506 533
507 /// <summary> 534 /// <summary>
@@ -522,6 +549,11 @@ namespace OpenSim.Region.Environment.Scenes
522 return m_scene.RequestAvatarList(); 549 return m_scene.RequestAvatarList();
523 } 550 }
524 551
552 /// <summary>
553 ///
554 /// </summary>
555 /// <param name="remoteClient"></param>
556 /// <param name="part"></param>
525 internal void SendPartFullUpdate(IClientAPI remoteClient, AllNewSceneObjectPart2 part) 557 internal void SendPartFullUpdate(IClientAPI remoteClient, AllNewSceneObjectPart2 part)
526 { 558 {
527 if( m_rootPart == part ) 559 if( m_rootPart == part )
@@ -533,5 +565,22 @@ namespace OpenSim.Region.Environment.Scenes
533 part.SendFullUpdateToClient( remoteClient ); 565 part.SendFullUpdateToClient( remoteClient );
534 } 566 }
535 } 567 }
568
569 /// <summary>
570 ///
571 /// </summary>
572 /// <param name="remoteClient"></param>
573 /// <param name="part"></param>
574 internal void SendPartTerseUpdate(IClientAPI remoteClient, AllNewSceneObjectPart2 part)
575 {
576 if (m_rootPart == part)
577 {
578 part.SendTerseUpdateToClient(remoteClient, Pos);
579 }
580 else
581 {
582 part.SendTerseUpdateToClient(remoteClient);
583 }
584 }
536 } 585 }
537} 586}