Create default skin, shape and hair items in inventory for viewer 2

With the addition of eyes, and once all four items are worn, a naked avatar appears.
This is interim code just to get things going.
viewer-2-initial-appearance
Justin Clark-Casey (justincc) 2011-01-08 00:19:38 +00:00
parent a1c5de0f94
commit d075b1e52f
2 changed files with 62 additions and 10 deletions

View File

@ -506,9 +506,10 @@ namespace OpenSim.Services.InventoryService
private void AddNewInventorySet(UsersInventory inventory) private void AddNewInventorySet(UsersInventory inventory)
{ {
foreach (InventoryFolderBase folder in inventory.Folders.Values) foreach (InventoryFolderBase folder in inventory.Folders.Values)
{
AddFolder(folder); AddFolder(folder);
}
foreach (InventoryItemBase item in inventory.Items.Values)
AddItem(item);
} }
public InventoryItemBase GetInventoryItem(UUID itemID) public InventoryItemBase GetInventoryItem(UUID itemID)
@ -592,14 +593,14 @@ namespace OpenSim.Services.InventoryService
folder.Version = 1; folder.Version = 1;
Folders.Add(folder.ID, folder); Folders.Add(folder.ID, folder);
folder = new InventoryFolderBase(); InventoryFolderBase clothingFolder = new InventoryFolderBase();
folder.ParentID = rootFolder; clothingFolder.ParentID = rootFolder;
folder.Owner = user; clothingFolder.Owner = user;
folder.ID = UUID.Random(); clothingFolder.ID = UUID.Random();
folder.Name = "Clothing"; clothingFolder.Name = "Clothing";
folder.Type = (short)AssetType.Clothing; clothingFolder.Type = (short)AssetType.Clothing;
folder.Version = 1; clothingFolder.Version = 1;
Folders.Add(folder.ID, folder); Folders.Add(clothingFolder.ID, clothingFolder);
folder = new InventoryFolderBase(); folder = new InventoryFolderBase();
folder.ParentID = rootFolder; folder.ParentID = rootFolder;
@ -690,6 +691,18 @@ namespace OpenSim.Services.InventoryService
folder.Type = (short)AssetType.TrashFolder; folder.Type = (short)AssetType.TrashFolder;
folder.Version = 1; folder.Version = 1;
Folders.Add(folder.ID, folder); Folders.Add(folder.ID, folder);
// Not worth creating default items for this old inventory service since it's only currently used by
// tests (and then to test other things, rather than the service itself).
// // Default items
// InventoryItemBase defaultShape = new InventoryItemBase();
// defaultShape.Name = "Default shape";
// defaultShape.AssetType = (int)AssetType.Bodypart;
// defaultShape.InvType = (int)InventoryType.Wearable;
// defaultShape.ID = AvatarWearable.DEFAULT_BODY_ITEM;
// defaultShape.AssetID = AvatarWearable.DEFAULT_BODY_ASSET;
// defaultShape.Folder = clothingFolder.ID;
// Items.Add(defaultShape.ID, defaultShape);
} }
} }
} }

View File

@ -135,6 +135,45 @@ namespace OpenSim.Services.InventoryService
CreateFolder(principalID, rootFolder.ID, (int)AssetType.Texture, "Textures"); CreateFolder(principalID, rootFolder.ID, (int)AssetType.Texture, "Textures");
if (!Array.Exists(sysFolders, delegate (XInventoryFolder f) { if (f.type == (int)AssetType.TrashFolder) return true; return false; })) if (!Array.Exists(sysFolders, delegate (XInventoryFolder f) { if (f.type == (int)AssetType.TrashFolder) return true; return false; }))
CreateFolder(principalID, rootFolder.ID, (int)AssetType.TrashFolder, "Trash"); CreateFolder(principalID, rootFolder.ID, (int)AssetType.TrashFolder, "Trash");
InventoryFolderBase bodypartFolder = GetFolderForType(principalID, AssetType.Bodypart);
// Default items
InventoryItemBase defaultShape = new InventoryItemBase();
defaultShape.Name = "Default shape";
defaultShape.Description = "Default shape description";
defaultShape.AssetType = (int)AssetType.Bodypart;
defaultShape.InvType = (int)InventoryType.Wearable;
defaultShape.Flags = (uint)WearableType.Shape;
defaultShape.ID = AvatarWearable.DEFAULT_BODY_ITEM;
defaultShape.AssetID = AvatarWearable.DEFAULT_BODY_ASSET;
defaultShape.Folder = bodypartFolder.ID;
defaultShape.CreatorId = UUID.Zero.ToString();
AddItem(defaultShape);
InventoryItemBase defaultSkin = new InventoryItemBase();
defaultSkin.Name = "Default skin";
defaultSkin.Description = "Default skin description";
defaultSkin.AssetType = (int)AssetType.Bodypart;
defaultSkin.InvType = (int)InventoryType.Wearable;
defaultSkin.Flags = (uint)WearableType.Skin;
defaultSkin.ID = AvatarWearable.DEFAULT_SKIN_ITEM;
defaultSkin.AssetID = AvatarWearable.DEFAULT_SKIN_ASSET;
defaultSkin.Folder = bodypartFolder.ID;
defaultSkin.CreatorId = UUID.Zero.ToString();
AddItem(defaultSkin);
InventoryItemBase defaultHair = new InventoryItemBase();
defaultHair.Name = "Default hair";
defaultHair.Description = "Default hair description";
defaultHair.AssetType = (int)AssetType.Bodypart;
defaultHair.InvType = (int)InventoryType.Wearable;
defaultHair.Flags = (uint)WearableType.Hair;
defaultHair.ID = AvatarWearable.DEFAULT_HAIR_ITEM;
defaultHair.AssetID = AvatarWearable.DEFAULT_HAIR_ASSET;
defaultHair.Folder = bodypartFolder.ID;
defaultHair.CreatorId = UUID.Zero.ToString();
AddItem(defaultHair);
return result; return result;
} }