diff options
author | Justin Clarke Casey | 2008-06-12 17:49:08 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-06-12 17:49:08 +0000 |
commit | 8714833986cef44787fd57a61699b7bdcfd3d3bb (patch) | |
tree | fbd78ff5755484df5ca5732389a7006f92db6508 /OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |
parent | * refactor: rename CreatePrimFromXml to CreatePrimFromXml2 (diff) | |
download | opensim-SC_OLD-8714833986cef44787fd57a61699b7bdcfd3d3bb.zip opensim-SC_OLD-8714833986cef44787fd57a61699b7bdcfd3d3bb.tar.gz opensim-SC_OLD-8714833986cef44787fd57a61699b7bdcfd3d3bb.tar.bz2 opensim-SC_OLD-8714833986cef44787fd57a61699b7bdcfd3d3bb.tar.xz |
* refactor: For new objects, move attach to backup to occur when adding to a scene, rather than on creation of the group
* Adding to a scene is now parameterized such that one can choose not to actually persist that group
* This is to support a use case where a module wants a scene which consists of both objects which are persisted, and ones which are just temporary for the lifetime of that server instance
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index ead7f23..ebc721f 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -1483,8 +1483,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
1483 | RayStart, RayEnd, RayTargetID, new LLQuaternion(0, 0, 0, 1), | 1483 | RayStart, RayEnd, RayTargetID, new LLQuaternion(0, 0, 0, 1), |
1484 | BypassRayCast, bRayEndIsIntersection,true,scale, false); | 1484 | BypassRayCast, bRayEndIsIntersection,true,scale, false); |
1485 | 1485 | ||
1486 | |||
1487 | |||
1488 | // Rez object | 1486 | // Rez object |
1489 | CachedUserInfo userInfo = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); | 1487 | CachedUserInfo userInfo = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); |
1490 | if (userInfo != null) | 1488 | if (userInfo != null) |
@@ -1508,7 +1506,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1508 | 1506 | ||
1509 | group.ResetIDs(); | 1507 | group.ResetIDs(); |
1510 | 1508 | ||
1511 | AddSceneObject(group); | 1509 | AddSceneObject(group, true); |
1512 | 1510 | ||
1513 | // if attachment we set it's asset id so object updates can reflect that | 1511 | // if attachment we set it's asset id so object updates can reflect that |
1514 | // if not, we set it's position in world. | 1512 | // if not, we set it's position in world. |
@@ -1601,6 +1599,15 @@ namespace OpenSim.Region.Environment.Scenes | |||
1601 | return null; | 1599 | return null; |
1602 | } | 1600 | } |
1603 | 1601 | ||
1602 | /// <summary> | ||
1603 | /// Rez an object in the scene | ||
1604 | /// </summary> | ||
1605 | /// <param name="item"></param> | ||
1606 | /// <param name="pos"></param> | ||
1607 | /// <param name="rot"></param> | ||
1608 | /// <param name="vel"></param> | ||
1609 | /// <param name="param"></param> | ||
1610 | /// <returns></returns> | ||
1604 | public virtual SceneObjectGroup RezObject(TaskInventoryItem item, LLVector3 pos, LLQuaternion rot, LLVector3 vel, int param) | 1611 | public virtual SceneObjectGroup RezObject(TaskInventoryItem item, LLVector3 pos, LLQuaternion rot, LLVector3 vel, int param) |
1605 | { | 1612 | { |
1606 | // Rez object | 1613 | // Rez object |
@@ -1621,7 +1628,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1621 | } | 1628 | } |
1622 | group.ResetIDs(); | 1629 | group.ResetIDs(); |
1623 | 1630 | ||
1624 | AddSceneObject(group); | 1631 | AddSceneObject(group, true); |
1625 | 1632 | ||
1626 | // Set the startup parameter for on_rez event and llGetStartParameter() function | 1633 | // Set the startup parameter for on_rez event and llGetStartParameter() function |
1627 | group.StartParameter = param; | 1634 | group.StartParameter = param; |
@@ -1678,10 +1685,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
1678 | rootPart.ScheduleFullUpdate(); | 1685 | rootPart.ScheduleFullUpdate(); |
1679 | return rootPart.ParentGroup; | 1686 | return rootPart.ParentGroup; |
1680 | } | 1687 | } |
1681 | |||
1682 | } | 1688 | } |
1689 | |||
1683 | return null; | 1690 | return null; |
1684 | } | 1691 | } |
1692 | |||
1685 | public virtual bool returnObjects(SceneObjectGroup[] returnobjects, LLUUID AgentId) | 1693 | public virtual bool returnObjects(SceneObjectGroup[] returnobjects, LLUUID AgentId) |
1686 | { | 1694 | { |
1687 | string message = ""; | 1695 | string message = ""; |
@@ -1699,9 +1707,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
1699 | //} | 1707 | //} |
1700 | //returnstring += "</scene>\n"; | 1708 | //returnstring += "</scene>\n"; |
1701 | 1709 | ||
1702 | |||
1703 | |||
1704 | |||
1705 | bool permissionToDelete = false; | 1710 | bool permissionToDelete = false; |
1706 | 1711 | ||
1707 | for (int i = 0; i < returnobjects.Length; i++) | 1712 | for (int i = 0; i < returnobjects.Length; i++) |