aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index c9b6e9f..38e1609 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -462,6 +462,7 @@ namespace OpenSim.Region.Environment.Scenes
462 dupe.AbsolutePosition = new LLVector3(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z); 462 dupe.AbsolutePosition = new LLVector3(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z);
463 dupe.m_scene = m_scene; 463 dupe.m_scene = m_scene;
464 dupe.m_regionHandle = m_regionHandle; 464 dupe.m_regionHandle = m_regionHandle;
465
465 dupe.CopyRootPart(m_rootPart, OwnerID, GroupID); 466 dupe.CopyRootPart(m_rootPart, OwnerID, GroupID);
466 467
467 468
@@ -519,6 +520,7 @@ namespace OpenSim.Region.Environment.Scenes
519 SetPartAsRoot(newPart); 520 SetPartAsRoot(newPart);
520 } 521 }
521 public void SetRootPartOwner(SceneObjectPart part, LLUUID cAgentID, LLUUID cGroupID) { 522 public void SetRootPartOwner(SceneObjectPart part, LLUUID cAgentID, LLUUID cGroupID) {
523 part.LastOwnerID = part.OwnerID;
522 part.OwnerID = cAgentID; 524 part.OwnerID = cAgentID;
523 part.GroupID = cGroupID; 525 part.GroupID = cGroupID;
524 part.ScheduleFullUpdate(); 526 part.ScheduleFullUpdate();
@@ -535,6 +537,38 @@ namespace OpenSim.Region.Environment.Scenes
535 m_parts.Add(newPart.UUID, newPart); 537 m_parts.Add(newPart.UUID, newPart);
536 SetPartAsNonRoot(newPart); 538 SetPartAsNonRoot(newPart);
537 } 539 }
540
541 /// <summary>
542 ///
543 /// </summary>
544 /// <param name="part"></param>
545 public void ServiceObjectPropertiesFamilyRequest(IClientAPI remoteClient,LLUUID AgentID, uint RequestFlags)
546 {
547 //RootPart.ServiceObjectPropertiesFamilyRequest(remoteClient, AgentID, RequestFlags);
548 ObjectPropertiesFamilyPacket objPropFamilyPack = new ObjectPropertiesFamilyPacket();
549 ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock();
550 objPropDB.RequestFlags = RequestFlags;
551 objPropDB.ObjectID = RootPart.UUID;
552 objPropDB.OwnerID = RootPart.ObjectOwner;
553 objPropDB.GroupID = RootPart.GroupID;
554 objPropDB.BaseMask = RootPart.BaseMask;
555 objPropDB.OwnerMask = RootPart.OwnerMask;
556 objPropDB.GroupMask = RootPart.GroupMask;
557 objPropDB.EveryoneMask = RootPart.EveryoneMask;
558 objPropDB.NextOwnerMask = RootPart.NextOwnerMask;
559
560 // TODO: More properties are needed in SceneObjectPart!
561 objPropDB.OwnershipCost = RootPart.OwnershipCost;
562 objPropDB.SaleType = RootPart.ObjectSaleType;
563 objPropDB.SalePrice = RootPart.SalePrice;
564 objPropDB.Category = RootPart.Category;
565 objPropDB.LastOwnerID = RootPart.CreatorID;
566 objPropDB.Name = Helpers.StringToField(RootPart.Name);
567 objPropDB.Description = Helpers.StringToField(RootPart.Description);
568 objPropFamilyPack.ObjectData = objPropDB;
569 remoteClient.OutPacket(objPropFamilyPack);
570
571 }
538 public void SetPartOwner(SceneObjectPart part, LLUUID cAgentID, LLUUID cGroupID) 572 public void SetPartOwner(SceneObjectPart part, LLUUID cAgentID, LLUUID cGroupID)
539 { 573 {
540 part.OwnerID = cAgentID; 574 part.OwnerID = cAgentID;