refactor: make RezObject() more readable
parent
46d06b6c4c
commit
07d5a0779a
|
@ -1966,22 +1966,21 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
SceneObjectPart sourcePart, TaskInventoryItem item,
|
||||
Vector3 pos, Quaternion rot, Vector3 vel, int param)
|
||||
{
|
||||
// Rez object
|
||||
if (item != null)
|
||||
{
|
||||
UUID ownerID = item.OwnerID;
|
||||
if (null == item)
|
||||
return null;
|
||||
|
||||
UUID ownerID = item.OwnerID;
|
||||
AssetBase rezAsset = AssetService.Get(item.AssetID.ToString());
|
||||
|
||||
if (rezAsset != null)
|
||||
{
|
||||
if (null == rezAsset)
|
||||
return null;
|
||||
|
||||
string xmlData = Utils.BytesToString(rezAsset.Data);
|
||||
SceneObjectGroup group = SceneObjectSerializer.FromOriginalXmlFormat(xmlData);
|
||||
|
||||
if (!Permissions.CanRezObject(group.Children.Count, ownerID, pos))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
group.ResetIDs();
|
||||
|
||||
AddNewSceneObject(group, true);
|
||||
|
@ -2010,6 +2009,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
part.EveryoneMask = item.EveryonePermissions;
|
||||
part.NextOwnerMask = item.NextPermissions;
|
||||
}
|
||||
|
||||
group.ApplyNextOwnerPermissions();
|
||||
}
|
||||
}
|
||||
|
@ -2022,6 +2022,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
part.OwnerID = item.OwnerID;
|
||||
part.Inventory.ChangeInventoryOwner(item.OwnerID);
|
||||
}
|
||||
|
||||
part.EveryoneMask = item.EveryonePermissions;
|
||||
part.NextOwnerMask = item.NextPermissions;
|
||||
}
|
||||
|
@ -2042,6 +2043,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
group.Velocity = vel;
|
||||
rootPart.ScheduleFullUpdate();
|
||||
}
|
||||
|
||||
group.CreateScriptInstances(param, true, DefaultScriptEngine, 2);
|
||||
rootPart.ScheduleFullUpdate();
|
||||
|
||||
|
@ -2050,11 +2052,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
|
||||
sourcePart.Inventory.RemoveInventoryItem(item.ItemID);
|
||||
}
|
||||
return rootPart.ParentGroup;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
return rootPart.ParentGroup;
|
||||
}
|
||||
|
||||
public virtual bool returnObjects(SceneObjectGroup[] returnobjects, UUID AgentId)
|
||||
|
|
Loading…
Reference in New Issue