CreateAsset() public static method

Create and store a notecard asset with a random uuid and dummy text.
public static CreateAsset ( Scene scene, UUID creatorId ) : OpenSim.Framework.AssetBase
scene OpenSim.Region.Framework.Scenes.Scene
creatorId UUID
return OpenSim.Framework.AssetBase
        /// <summary>
        /// Add a simple script to the given part.
        /// </summary>
        /// <remarks>
        /// TODO: Accept input for item and asset IDs so that we have completely replicatable regression tests rather
        /// than a random component.
        /// </remarks>
        /// <param name="assetService"></param>
        /// <param name="part"></param>
        /// <param name="itemId">Item UUID for the script</param>
        /// <param name="assetId">Asset UUID for the script</param>
        /// <param name="scriptName">Name of the script to add</param>
        /// <param name="scriptSource">LSL script source</param>
        /// <returns>The item that was added</returns>
        public static TaskInventoryItem AddScript(
            IAssetService assetService, SceneObjectPart part, UUID itemId, UUID assetId, string scriptName, string scriptSource)
        {
            AssetScriptText ast = new AssetScriptText();

            ast.Source = scriptSource;
            ast.Encode();

            AssetBase asset
                = AssetHelpers.CreateAsset(assetId, AssetType.LSLText, ast.AssetData, UUID.Zero);

            assetService.Store(asset);
            TaskInventoryItem item
                = new TaskInventoryItem
                {
                Name    = scriptName,
                AssetID = assetId,
                ItemID  = itemId,
                Type    = (int)AssetType.LSLText,
                InvType = (int)InventoryType.LSL
                };

            part.Inventory.AddInventoryItem(item, true);

            return(item);
        }
        /// <summary>
        /// Add a notecard item to the given part.
        /// </summary>
        /// <param name="assetService"></param>
        /// <param name="part"></param>
        /// <param name="itemName"></param>
        /// <param name="itemID"></param>
        /// <param name="assetID"></param>
        /// <param name="text">The tex to put in the notecard.</param>
        /// <returns>The item that was added</returns>
        public static TaskInventoryItem AddNotecard(
            IAssetService assetService, SceneObjectPart part, string itemName, UUID itemID, UUID assetID, string text)
        {
            AssetNotecard nc = new AssetNotecard();

            nc.BodyText = text;
            nc.Encode();

            AssetBase ncAsset
                = AssetHelpers.CreateAsset(assetID, AssetType.Notecard, nc.AssetData, UUID.Zero);

            assetService.Store(ncAsset);

            TaskInventoryItem ncItem
                = new TaskInventoryItem
                {
                Name    = itemName,
                AssetID = assetID,
                ItemID  = itemID,
                Type    = (int)AssetType.Notecard,
                InvType = (int)InventoryType.Notecard
                };

            part.Inventory.AddInventoryItem(ncItem, true);

            return(ncItem);
        }
 /// <summary>
 /// Add an existing scene object as an item in the user's inventory.
 /// </summary>
 /// <remarks>
 /// Will be added to the system Objects folder.
 /// </remarks>
 /// <param name='scene'></param>
 /// <param name='so'></param>
 /// <param name='inventoryIdTail'></param>
 /// <param name='assetIdTail'></param>
 /// <returns>The inventory item created.</returns>
 public static InventoryItemBase AddInventoryItem(
     Scene scene, SceneObjectGroup so, int inventoryIdTail, int assetIdTail)
 {
     return(AddInventoryItem(
                scene,
                so.Name,
                TestHelpers.ParseTail(inventoryIdTail),
                InventoryType.Object,
                AssetHelpers.CreateAsset(TestHelpers.ParseTail(assetIdTail), so),
                so.OwnerID));
 }
Esempio n. 4
0
        /// <summary>
        /// Add a scene object item to the given part.
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="sop"></param>
        /// <param name="itemName"></param>
        /// <param name="id"></param>
        public static TaskInventoryItem AddSceneObject(Scene scene, SceneObjectPart sop, string itemName, UUID id)
        {
            SceneObjectGroup taskSceneObject      = SceneHelpers.CreateSceneObject(1, UUID.Zero);
            AssetBase        taskSceneObjectAsset = AssetHelpers.CreateAsset(0x10, taskSceneObject);

            scene.AssetService.Store(taskSceneObjectAsset);
            TaskInventoryItem taskSceneObjectItem
                = new TaskInventoryItem
                {
                Name = itemName, AssetID = taskSceneObjectAsset.FullID, ItemID = id,
                Type = (int)AssetType.Object, InvType = (int)InventoryType.Object
                };

            sop.Inventory.AddInventoryItem(taskSceneObjectItem, true);

            return(taskSceneObjectItem);
        }
        public static InventoryItemBase CreateInventoryItem(
            Scene scene, string itemName, UUID itemId, string folderPath, UUID userId)
        {
            InventoryItemBase item = new InventoryItemBase();

            item.Name    = itemName;
            item.AssetID = AssetHelpers.CreateAsset(scene, userId).FullID;
            item.ID      = itemId;

            // Really quite bad since the objs folder could be moved in the future and confuse the tests
            InventoryFolderBase objsFolder = scene.InventoryService.GetFolderForType(userId, AssetType.Object);

            item.Folder = objsFolder.ID;
            scene.AddInventoryItem(item);

            return(item);
        }
        /// <summary>
        /// Add a scene object item to the given part.
        /// </summary>
        /// <remarks>
        /// TODO: Accept input for item and asset IDs to avoid mysterious script failures that try to use any of these
        /// functions more than once in a test.
        /// </remarks>
        ///
        /// <param name="assetService"></param>
        /// <param name="sop"></param>
        /// <param name="itemName"></param>
        /// <param name="itemId"></param>
        /// <param name="soToAdd"></param>
        /// <param name="soAssetId"></param>
        public static TaskInventoryItem AddSceneObject(
            IAssetService assetService, SceneObjectPart sop, string itemName, UUID itemId, SceneObjectGroup soToAdd, UUID soAssetId)
        {
            AssetBase taskSceneObjectAsset = AssetHelpers.CreateAsset(soAssetId, soToAdd);

            assetService.Store(taskSceneObjectAsset);
            TaskInventoryItem taskSceneObjectItem
                = new TaskInventoryItem
                {
                Name    = itemName,
                AssetID = taskSceneObjectAsset.FullID,
                ItemID  = itemId,
                OwnerID = soToAdd.OwnerID,
                Type    = (int)AssetType.Object,
                InvType = (int)InventoryType.Object
                };

            sop.Inventory.AddInventoryItem(taskSceneObjectItem, true);

            return(taskSceneObjectItem);
        }
        /// <summary>
        /// Creates a notecard in the objects folder and specify an item id.
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="itemName"></param>
        /// <param name="itemId"></param>
        /// <param name="assetId"></param>
        /// <param name="userId"></param>
        /// <param name="type">Type of item to create</param>
        /// <returns></returns>
        public static InventoryItemBase CreateInventoryItem(
            Scene scene, string itemName, UUID itemId, UUID assetId, UUID userId, InventoryType itemType)
        {
            AssetBase asset = null;

            if (itemType == InventoryType.Notecard)
            {
                asset           = AssetHelpers.CreateNotecardAsset();
                asset.CreatorID = userId.ToString();
            }
            else if (itemType == InventoryType.Object)
            {
                asset = AssetHelpers.CreateAsset(assetId, SceneHelpers.CreateSceneObject(1, userId));
            }
            else
            {
                throw new Exception(string.Format("Inventory type {0} not supported", itemType));
            }

            return(AddInventoryItem(scene, itemName, itemId, itemType, asset, userId));
        }
Esempio n. 8
0
        /// <summary>
        /// Add a notecard item to the given part.
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="part"></param>
        /// <returns>The item that was added</returns>
        public static TaskInventoryItem AddNotecard(Scene scene, SceneObjectPart part)
        {
            AssetNotecard nc = new AssetNotecard();

            nc.BodyText = "Hello World!";
            nc.Encode();
            UUID      ncAssetUuid = new UUID("00000000-0000-0000-1000-000000000000");
            UUID      ncItemUuid  = new UUID("00000000-0000-0000-1100-000000000000");
            AssetBase ncAsset
                = AssetHelpers.CreateAsset(ncAssetUuid, AssetType.Notecard, nc.AssetData, UUID.Zero);

            scene.AssetService.Store(ncAsset);
            TaskInventoryItem ncItem
                = new TaskInventoryItem
                {
                Name = "ncItem", AssetID = ncAssetUuid, ItemID = ncItemUuid,
                Type = (int)AssetType.Notecard, InvType = (int)InventoryType.Notecard
                };

            part.Inventory.AddInventoryItem(ncItem, true);

            return(ncItem);
        }
Esempio n. 9
0
        /// <summary>
        /// Creates a notecard in the objects folder and specify an item id.
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="itemName"></param>
        /// <param name="itemId"></param>
        /// <param name="assetId"></param>
        /// <param name="userId"></param>
        /// <param name="type">Type of item to create</param>
        /// <returns></returns>
        public static InventoryItemBase CreateInventoryItem(
            Scene scene, string itemName, UUID itemId, UUID assetId, UUID userId, InventoryType type)
        {
            AssetBase asset = null;

            if (type == InventoryType.Notecard)
            {
                asset           = AssetHelpers.CreateNotecardAsset();
                asset.CreatorID = userId.ToString();
            }
            else if (type == InventoryType.Object)
            {
                asset = AssetHelpers.CreateAsset(assetId, SceneHelpers.CreateSceneObject(1, userId));
            }
            else
            {
                throw new Exception(string.Format("Inventory type {0} not supported", type));
            }

            scene.AssetService.Store(asset);

            InventoryItemBase item = new InventoryItemBase();

            item.Name      = itemName;
            item.AssetID   = asset.FullID;
            item.ID        = itemId;
            item.Owner     = userId;
            item.AssetType = asset.Type;
            item.InvType   = (int)type;

            InventoryFolderBase folder = scene.InventoryService.GetFolderForType(userId, AssetType.Notecard);

            item.Folder = folder.ID;
            scene.AddInventoryItem(item);

            return(item);
        }