/* * Copyright (c) 2006-2016, openmetaverse.co * 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 openmetaverse.co 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; namespace OpenMetaverse { /// /// Attribute class that allows extra attributes to be attached to ENUMs /// public class EnumInfoAttribute : Attribute { /// Text used when presenting ENUM to user public string Text = string.Empty; /// Default initializer public EnumInfoAttribute() { } /// Text used when presenting ENUM to user public EnumInfoAttribute(string text) { Text = text; } } /// /// The different types of grid assets /// public enum AssetType : sbyte { /// Unknown asset type [EnumInfo(Text = "invalid")] Unknown = -1, /// Texture asset, stores in JPEG2000 J2C stream format [EnumInfo (Text = "texture")] Texture = 0, /// Sound asset [EnumInfo(Text = "sound")] Sound = 1, /// Calling card for another avatar [EnumInfo(Text = "callcard")] CallingCard = 2, /// Link to a location in world [EnumInfo(Text = "landmark")] Landmark = 3, // Legacy script asset, you should never see one of these [Obsolete("No longer used")] [EnumInfo(Text = "script")] Script = 4, /// Collection of textures and parameters that can be worn by an avatar [EnumInfo(Text = "clothing")] Clothing = 5, /// Primitive that can contain textures, sounds, scripts and more [EnumInfo(Text = "object")] Object = 6, /// Notecard asset [EnumInfo(Text = "notecard")] Notecard = 7, /// Holds a collection of inventory items. "Category" in the Linden viewer [EnumInfo(Text = "category")] Folder = 8, /// Linden scripting language script [EnumInfo(Text = "lsltext")] LSLText = 10, /// LSO bytecode for a script [EnumInfo(Text = "lslbyte")] LSLBytecode = 11, /// Uncompressed TGA texture [EnumInfo(Text = "txtr_tga")] TextureTGA = 12, /// Collection of textures and shape parameters that can be worn [EnumInfo(Text = "bodypart")] Bodypart = 13, /// Uncompressed sound [EnumInfo(Text = "snd_wav")] SoundWAV = 17, /// Uncompressed TGA non-square image, not to be used as a texture [EnumInfo(Text = "img_tga")] ImageTGA = 18, /// Compressed JPEG non-square image, not to be used as a texture [EnumInfo(Text = "jpeg")] ImageJPEG = 19, /// Animation [EnumInfo(Text = "animatn")] Animation = 20, /// Sequence of animations, sounds, chat, and pauses [EnumInfo(Text = "gesture")] Gesture = 21, /// Simstate file [EnumInfo(Text = "simstate")] Simstate = 22, /// Asset is a link to another inventory item [EnumInfo(Text = "link")] Link = 24, /// Asset is a link to another inventory folder [EnumInfo(Text = "link_f")] LinkFolder = 25, /// Linden mesh format [EnumInfo(Text = "mesh")] Mesh = 49, /// widget? [EnumInfo(Text = "widget")] Widget = 40, /// Person? [EnumInfo(Text = "person")] Person = 45 } /// /// The different types of folder. /// public enum FolderType : sbyte { /// None folder type None = -1, /// Texture folder type Texture = 0, /// Sound folder type Sound = 1, /// Calling card folder type CallingCard = 2, /// Landmark folder type Landmark = 3, /// Clothing folder type Clothing = 5, /// Object folder type Object = 6, /// Notecard folder type Notecard = 7, /// The root folder type Root = 8, /// Non-conformant OpenSim root folder type [Obsolete("No longer used, please use FolderType.Root")] OldRoot = 9, /// LSLText folder LSLText = 10, /// Bodyparts folder BodyPart = 13, /// Trash folder Trash = 14, /// Snapshot folder Snapshot = 15, /// Lost And Found folder LostAndFound = 16, /// Animation folder Animation = 20, /// Gesture folder Gesture = 21, /// Favorites folder Favorites = 23, /// Ensemble beginning range EnsembleStart = 26, /// Ensemble ending range EnsembleEnd= 45, /// Current outfit folder CurrentOutfit = 46, /// Outfit folder Outfit = 47, /// My outfits folder MyOutfits = 48, /// Mesh folder Mesh = 49, /// Marketplace direct delivery inbox ("Received Items") Inbox = 50, /// Marketplace direct delivery outbox Outbox = 51, /// Basic root folder BasicRoot = 52, /// Marketplace listings folder MarketplaceListings = 53, /// Marketplace stock folder MarkplaceStock = 54, /// Marketplace version. We *never* actually create folder of this type MarketplaceVersion = 55, /// Hypergrid Suitcase folder Suitcase = 100 } /// /// Inventory Item Types, eg Script, Notecard, Folder, etc /// public enum InventoryType : sbyte { /// Unknown Unknown = -1, /// Texture Texture = 0, /// Sound Sound = 1, /// Calling Card CallingCard = 2, /// Landmark Landmark = 3, /* /// Script //[Obsolete("See LSL")] Script = 4, /// Clothing //[Obsolete("See Wearable")] Clothing = 5, /// Object, both single and coalesced */ Object = 6, /// Notecard Notecard = 7, /// Category = 8, /// Folder Folder = 8, /// RootCategory = 9, /// an LSL Script LSL = 10, /* /// //[Obsolete("See LSL")] LSLBytecode = 11, /// //[Obsolete("See Texture")] TextureTGA = 12, /// //[Obsolete] Bodypart = 13, /// //[Obsolete] Trash = 14, */ /// Snapshot = 15, /* /// //[Obsolete] LostAndFound = 16, */ /// Attachment = 17, /// Wearable = 18, /// Animation = 19, /// Gesture = 20, /// Mesh = 22, } /// /// Item Sale Status /// public enum SaleType : byte { /// Not for sale Not = 0, /// The original is for sale Original = 1, /// Copies are for sale Copy = 2, /// The contents of the object are for sale Contents = 3 } /// /// Types of wearable assets /// public enum WearableType : byte { /// Body shape [EnumInfo(Text = "Shape")] Shape = 0, /// Skin textures and attributes [EnumInfo(Text = "Skin")] Skin, /// Hair [EnumInfo(Text = "Hair")] Hair, /// Eyes [EnumInfo(Text = "Eyes")] Eyes, /// Shirt [EnumInfo(Text = "Shirt")] Shirt, /// Pants [EnumInfo(Text = "Pants")] Pants, /// Shoes [EnumInfo(Text = "Shoes")] Shoes, /// Socks [EnumInfo(Text = "Socks")] Socks, /// Jacket [EnumInfo(Text = "Jacket")] Jacket, /// Gloves [EnumInfo(Text = "Gloves")] Gloves, /// Undershirt [EnumInfo(Text = "Undershirt")] Undershirt, /// Underpants [EnumInfo(Text = "Underpants")] Underpants, /// Skirt [EnumInfo(Text = "Skirt")] Skirt, /// Alpha mask to hide parts of the avatar [EnumInfo(Text = "Alpha")] Alpha, /// Tattoo [EnumInfo(Text = "Tattoo")] Tattoo, /// Physics [EnumInfo(Text = "Physics")] Physics, /// Universal [EnumInfo(Text = "Universal")] Universal, /// Invalid wearable asset [EnumInfo(Text = "Invalid")] Invalid = 255 }; }