/*
* Copyright (c) 2006-2014, openmetaverse.org
* 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.org 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)
{
this.Text = text;
}
}
///
/// The different types of grid assets
///
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. "Category" in the Linden viewer
Folder = 8,
/// 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,
/// 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,
/// Asset is a link to another inventory item
Link = 24,
/// Asset is a link to another inventory folder
LinkFolder = 25,
/// Marketplace Folder. Same as an Category but different display methods.
MarketplaceFolder = 26,
/// Linden mesh format
Mesh = 49,
}
///
/// 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,
/// 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
}
///
/// 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
Shape = 0,
/// Skin textures and attributes
Skin,
/// Hair
Hair,
/// Eyes
Eyes,
/// Shirt
Shirt,
/// Pants
Pants,
/// Shoes
Shoes,
/// Socks
Socks,
/// Jacket
Jacket,
/// Gloves
Gloves,
/// Undershirt
Undershirt,
/// Underpants
Underpants,
/// Skirt
Skirt,
/// Alpha mask to hide parts of the avatar
Alpha,
/// Tattoo
Tattoo,
/// Physics
Physics,
/// Invalid wearable asset
Invalid = 255
};
}