internal static TaskInventorySnapshot FromTaskInventory(OpenSim.Region.Framework.Scenes.SceneObjectPart part) { TaskInventorySnapshot snapshot = new TaskInventorySnapshot { Serial = part.InventorySerial, Items = ExtractInventoryItems(part) }; return(snapshot); }
public byte[] SerializePartToBytes(OpenSim.Region.Framework.Scenes.SceneObjectPart part, SerializationFlags flags) { Serialization.SceneObjectPartSnapshot snap = Serialization.SceneObjectPartSnapshot.FromSceneObjectPart(part, flags); using (MemoryStream ms = new MemoryStream()) { ProtoBuf.Serializer.Serialize <Serialization.SceneObjectPartSnapshot>(ms, snap); return(ms.ToArray()); } }
private static TaskInventoryItemSnapshot[] ExtractInventoryItems(OpenSim.Region.Framework.Scenes.SceneObjectPart part) { var inventory = part.Inventory.CollectInventoryForBackup(); List <TaskInventoryItemSnapshot> snapItems = new List <TaskInventoryItemSnapshot>(); foreach (var item in inventory.Value) { snapItems.Add(new TaskInventoryItemSnapshot { AssetId = item.AssetID.Guid, BasePermissions = item.BasePermissions, CreationDate = item.CreationDate, CreatorId = item.CreatorID.Guid, CurrentPermissions = item.CurrentPermissions, Description = item.Description, EveryonePermissions = item.EveryonePermissions, Flags = item.Flags, GroupId = item.GroupID.Guid, GroupPermissions = item.GroupPermissions, InvType = item.InvType, ItemId = item.ItemID.Guid, LastOwnerId = item.LastOwnerID.Guid, Name = item.Name, NextOwnerPermissions = item.NextPermissions, OldItemId = item.OldItemID.Guid, OwnerId = item.OwnerID.Guid, ParentId = item.ParentID.Guid, ParentPartId = item.ParentPartID.Guid, PermsGranter = item.PermsGranter.Guid, PermsMask = item.PermsMask, Type = item.Type }); } return(snapItems.ToArray()); }