/* * Copyright (c) 2006, Second Life Reverse Engineering Team * All rights reserved. * * - Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * - Neither the name of the Second Life Reverse Engineering Team nor the names * of its contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ using System; using libsecondlife; namespace libsecondlife.AssetSystem { /// /// Summary description for Asset. /// public class Asset { /* public const sbyte ASSET_TYPE_NOTECARD = 7; public const sbyte ASSET_TYPE_IMAGE = 0; public const sbyte ASSET_TYPE_WEARABLE_BODY = 13; public const sbyte ASSET_TYPE_WEARABLE_CLOTHING = 5; public const sbyte ASSET_TYPE_SCRIPT = 10; */ public enum AssetType : sbyte { /// Unknown asset type Unknown = -1, /// Texture asset, stores in JPEG2000 J2C stream format Texture = 0, /// Sound asset Sound = 1, /// Calling card for another avatar CallingCard = 2, /// Link to a location in world Landmark = 3, /// Legacy script asset, you should never see one of these [Obsolete] Script = 4, /// Collection of textures and parameters that can be /// worn by an avatar Clothing = 5, /// Primitive that can contain textures, sounds, /// scripts and more Object = 6, /// Notecard asset Notecard = 7, /// Holds a collection of inventory items Folder = 8, /// Root inventory folder RootFolder = 9, /// Linden scripting language script LSLText = 10, /// LSO bytecode for a script LSLBytecode = 11, /// Uncompressed TGA texture TextureTGA = 12, /// Collection of textures and shape parameters that can /// be worn Bodypart = 13, /// Trash folder TrashFolder = 14, /// Snapshot folder SnapshotFolder = 15, /// Lost and found folder LostAndFoundFolder = 16, /// Uncompressed sound SoundWAV = 17, /// Uncompressed TGA non-square image, not to be used as a /// texture ImageTGA = 18, /// Compressed JPEG non-square image, not to be used as a /// texture ImageJPEG = 19, /// Animation Animation = 20, /// Sequence of animations, sounds, chat, and pauses Gesture = 21, /// Simstate file Simstate = 22 } public LLUUID AssetID; public sbyte Type; public bool Tempfile; internal byte[] _AssetData; public byte[] AssetData { get { return _AssetData; } } /// /// /// /// /// /// public Asset(LLUUID assetID, sbyte type, bool tempfile, byte[] assetData) { AssetID = assetID; Type = (sbyte)type; Tempfile = tempfile; _AssetData = assetData; } /// /// /// /// /// public Asset(LLUUID assetID, sbyte type, byte[] assetData) { AssetID = assetID; Type = (sbyte)type; Tempfile = false; _AssetData = assetData; } /// /// Return this asset's data as a pretty printable string. /// public string AssetDataToString() { return Helpers.FieldToUTF8String((byte[])_AssetData); } public virtual void SetAssetData(byte[] data) { _AssetData = data; } } }