Formatting cleanup.

trunk
Jeff Ames 2009-07-01 23:37:09 +00:00
parent a0a44d8ebc
commit 1d01d6d919
10 changed files with 326 additions and 326 deletions

View File

@ -190,12 +190,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (item.Sequence != 0) if (item.Sequence != 0)
lock (contents) lock (contents)
{ {
if (contents.ContainsKey(item.Sequence)) if (contents.ContainsKey(item.Sequence))
contents[item.Sequence] += 1; contents[item.Sequence] += 1;
else else
contents.Add(item.Sequence, 1); contents.Add(item.Sequence, 1);
} }
lock (this) lock (this)
{ {

View File

@ -34,28 +34,28 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
{ {
public interface IAvatarAttachment public interface IAvatarAttachment
{ {
//// <value> //// <value>
/// Describes where on the avatar the attachment is located /// Describes where on the avatar the attachment is located
/// </value> /// </value>
int Location { get ; } int Location { get ; }
//// <value> //// <value>
/// Accessor to the rez'ed asset, representing the attachment /// Accessor to the rez'ed asset, representing the attachment
/// </value> /// </value>
IObject Asset { get; } IObject Asset { get; }
} }
public interface IAvatar : IEntity public interface IAvatar : IEntity
{ {
//// <value> //// <value>
/// Array of worn attachments, empty but not null, if no attachments are worn /// Array of worn attachments, empty but not null, if no attachments are worn
/// </value> /// </value>
IAvatarAttachment[] Attachments { get; } IAvatarAttachment[] Attachments { get; }
/// <summary> /// <summary>
/// Request to open an url clientside /// Request to open an url clientside
/// </summary> /// </summary>
void LoadUrl(IObject sender, string message, string url); void LoadUrl(IObject sender, string message, string url);
} }
} }

View File

@ -31,13 +31,13 @@ using OpenMetaverse;
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
{ {
/// <summary> /// <summary>
/// This implements the methods needed to operate on individual inventory items. /// This implements the methods needed to operate on individual inventory items.
/// </summary> /// </summary>
public interface IInventoryItem public interface IInventoryItem
{ {
int Type { get; } int Type { get; }
UUID AssetID { get; } UUID AssetID { get; }
T RetreiveAsset<T>() where T : OpenMetaverse.Asset, new(); T RetreiveAsset<T>() where T : OpenMetaverse.Asset, new();
} }
} }

View File

@ -179,10 +179,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
/// <param name="msg">The message to send to the user</param> /// <param name="msg">The message to send to the user</param>
void Say(string msg); void Say(string msg);
//// <value> //// <value>
/// Grants access to the objects inventory /// Grants access to the objects inventory
/// </value> /// </value>
IObjectInventory Inventory { get; } IObjectInventory Inventory { get; }
} }
public enum PhysicsMaterial public enum PhysicsMaterial

View File

@ -35,62 +35,62 @@ using OpenMetaverse;
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
{ {
public class InventoryItem : IInventoryItem public class InventoryItem : IInventoryItem
{ {
TaskInventoryItem m_privateItem; TaskInventoryItem m_privateItem;
Scene m_rootSceene; Scene m_rootSceene;
public InventoryItem(Scene rootScene, TaskInventoryItem internalItem) public InventoryItem(Scene rootScene, TaskInventoryItem internalItem)
{ {
m_rootSceene = rootScene; m_rootSceene = rootScene;
m_privateItem = internalItem; m_privateItem = internalItem;
} }
// Marked internal, to prevent scripts from accessing the internal type // Marked internal, to prevent scripts from accessing the internal type
internal TaskInventoryItem ToTaskInventoryItem() internal TaskInventoryItem ToTaskInventoryItem()
{ {
return m_privateItem; return m_privateItem;
} }
/// <summary> /// <summary>
/// This will attempt to convert from an IInventoryItem to an InventoryItem object /// This will attempt to convert from an IInventoryItem to an InventoryItem object
/// </summary> /// </summary>
/// <description> /// <description>
/// In order for this to work the object which implements IInventoryItem must inherit from InventoryItem, otherwise /// In order for this to work the object which implements IInventoryItem must inherit from InventoryItem, otherwise
/// an exception is thrown. /// an exception is thrown.
/// </description> /// </description>
/// <param name="i"> /// <param name="i">
/// The interface to upcast <see cref="IInventoryItem"/> /// The interface to upcast <see cref="IInventoryItem"/>
/// </param> /// </param>
/// <returns> /// <returns>
/// The object backing the interface implementation <see cref="InventoryItem"/> /// The object backing the interface implementation <see cref="InventoryItem"/>
/// </returns> /// </returns>
internal static InventoryItem FromInterface(IInventoryItem i) internal static InventoryItem FromInterface(IInventoryItem i)
{ {
if(typeof(InventoryItem).IsAssignableFrom(i.GetType())) if (typeof(InventoryItem).IsAssignableFrom(i.GetType()))
{ {
return (InventoryItem)i; return (InventoryItem)i;
} }
else else
{ {
throw new ApplicationException("[MRM] There is no legal conversion from IInventoryItem to InventoryItem"); throw new ApplicationException("[MRM] There is no legal conversion from IInventoryItem to InventoryItem");
} }
} }
public int Type { get { return m_privateItem.Type; } } public int Type { get { return m_privateItem.Type; } }
public UUID AssetID { get { return m_privateItem.AssetID; } } public UUID AssetID { get { return m_privateItem.AssetID; } }
public T RetreiveAsset<T>() where T : OpenMetaverse.Asset, new() public T RetreiveAsset<T>() where T : OpenMetaverse.Asset, new()
{ {
AssetBase a = m_rootSceene.AssetService.Get(AssetID.ToString()); AssetBase a = m_rootSceene.AssetService.Get(AssetID.ToString());
T result = new T(); T result = new T();
if((sbyte)result.AssetType != a.Type) if ((sbyte)result.AssetType != a.Type)
throw new ApplicationException("[MRM] The supplied asset class does not match the found asset"); throw new ApplicationException("[MRM] The supplied asset class does not match the found asset");
result.AssetData = a.Data; result.AssetData = a.Data;
result.Decode(); result.Decode();
return result; return result;
} }
} }
} }

View File

@ -32,11 +32,11 @@ using OpenMetaverse;
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule.Object namespace OpenSim.Region.OptionalModules.Scripting.Minimodule.Object
{ {
/// <summary> /// <summary>
/// This implements the methods neccesary to operate on the inventory of an object /// This implements the methods neccesary to operate on the inventory of an object
/// </summary> /// </summary>
public interface IObjectInventory : IDictionary<UUID, IInventoryItem> public interface IObjectInventory : IDictionary<UUID, IInventoryItem>
{ {
IInventoryItem this[string name] { get; } IInventoryItem this[string name] { get; }
} }
} }

View File

@ -301,12 +301,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
get { return this; } get { return this; }
} }
public IObjectInventory Inventory public IObjectInventory Inventory
{ {
get { return new SOPObjectInventory(m_rootScene, GetSOP().TaskInventory); } get { return new SOPObjectInventory(m_rootScene, GetSOP().TaskInventory); }
} }
#region Public Functions #region Public Functions
public void Say(string msg) public void Say(string msg)
{ {

View File

@ -35,181 +35,181 @@ using OpenMetaverse;
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule.Object namespace OpenSim.Region.OptionalModules.Scripting.Minimodule.Object
{ {
public class SOPObjectInventory : IObjectInventory public class SOPObjectInventory : IObjectInventory
{ {
TaskInventoryDictionary m_privateInventory; /// OpenSim's task inventory TaskInventoryDictionary m_privateInventory; /// OpenSim's task inventory
Dictionary<UUID, IInventoryItem> m_publicInventory; /// MRM's inventory Dictionary<UUID, IInventoryItem> m_publicInventory; /// MRM's inventory
Scene m_rootScene; Scene m_rootScene;
public SOPObjectInventory(Scene rootScene, TaskInventoryDictionary taskInventory) public SOPObjectInventory(Scene rootScene, TaskInventoryDictionary taskInventory)
{ {
m_rootScene = rootScene; m_rootScene = rootScene;
m_privateInventory = taskInventory; m_privateInventory = taskInventory;
m_publicInventory = new Dictionary<UUID, IInventoryItem>(); m_publicInventory = new Dictionary<UUID, IInventoryItem>();
} }
/// <summary> /// <summary>
/// Fully populate the public dictionary with the contents of the private dictionary /// Fully populate the public dictionary with the contents of the private dictionary
/// </summary> /// </summary>
/// <description> /// <description>
/// This will only convert those items which hasn't already been converted. ensuring that /// This will only convert those items which hasn't already been converted. ensuring that
/// no items are converted twice, and that any references already in use are maintained. /// no items are converted twice, and that any references already in use are maintained.
/// </description> /// </description>
private void SynchronizeDictionaries() private void SynchronizeDictionaries()
{ {
foreach(TaskInventoryItem privateItem in m_privateInventory.Values) foreach (TaskInventoryItem privateItem in m_privateInventory.Values)
if(!m_publicInventory.ContainsKey(privateItem.ItemID)) if (!m_publicInventory.ContainsKey(privateItem.ItemID))
m_publicInventory.Add(privateItem.ItemID, new InventoryItem(m_rootScene, privateItem)); m_publicInventory.Add(privateItem.ItemID, new InventoryItem(m_rootScene, privateItem));
} }
#region IDictionary<UUID, IInventoryItem> implementation #region IDictionary<UUID, IInventoryItem> implementation
public void Add (UUID key, IInventoryItem value) public void Add (UUID key, IInventoryItem value)
{ {
m_publicInventory.Add(key, value); m_publicInventory.Add(key, value);
m_privateInventory.Add(key, InventoryItem.FromInterface(value).ToTaskInventoryItem()); m_privateInventory.Add(key, InventoryItem.FromInterface(value).ToTaskInventoryItem());
} }
public bool ContainsKey (UUID key) public bool ContainsKey (UUID key)
{ {
return m_privateInventory.ContainsKey(key); return m_privateInventory.ContainsKey(key);
} }
public bool Remove (UUID key) public bool Remove (UUID key)
{ {
m_publicInventory.Remove(key); m_publicInventory.Remove(key);
return m_privateInventory.Remove(key); return m_privateInventory.Remove(key);
} }
public bool TryGetValue (UUID key, out IInventoryItem value) public bool TryGetValue (UUID key, out IInventoryItem value)
{ {
value = null; value = null;
bool result = false; bool result = false;
if(!m_publicInventory.TryGetValue(key, out value)) if (!m_publicInventory.TryGetValue(key, out value))
{ {
// wasn't found in the public inventory // wasn't found in the public inventory
TaskInventoryItem privateItem; TaskInventoryItem privateItem;
result = m_privateInventory.TryGetValue(key, out privateItem); result = m_privateInventory.TryGetValue(key, out privateItem);
if(result) if (result)
{ {
value = new InventoryItem(m_rootScene, privateItem); value = new InventoryItem(m_rootScene, privateItem);
m_publicInventory.Add(key, value); // add item, so we don't convert again m_publicInventory.Add(key, value); // add item, so we don't convert again
} }
} else } else
return true; return true;
return result; return result;
} }
public ICollection<UUID> Keys { public ICollection<UUID> Keys {
get { get {
return m_privateInventory.Keys; return m_privateInventory.Keys;
} }
} }
public ICollection<IInventoryItem> Values { public ICollection<IInventoryItem> Values {
get { get {
SynchronizeDictionaries(); SynchronizeDictionaries();
return m_publicInventory.Values; return m_publicInventory.Values;
} }
} }
#endregion #endregion
#region IEnumerable<KeyValuePair<UUID, IInventoryItem>> implementation #region IEnumerable<KeyValuePair<UUID, IInventoryItem>> implementation
public IEnumerator<KeyValuePair<UUID, IInventoryItem>> GetEnumerator () public IEnumerator<KeyValuePair<UUID, IInventoryItem>> GetEnumerator ()
{ {
SynchronizeDictionaries(); SynchronizeDictionaries();
return m_publicInventory.GetEnumerator(); return m_publicInventory.GetEnumerator();
} }
#endregion #endregion
#region IEnumerable implementation #region IEnumerable implementation
IEnumerator IEnumerable.GetEnumerator () IEnumerator IEnumerable.GetEnumerator ()
{ {
SynchronizeDictionaries(); SynchronizeDictionaries();
return m_publicInventory.GetEnumerator(); return m_publicInventory.GetEnumerator();
} }
#endregion #endregion
#region ICollection<KeyValuePair<UUID, IInventoryItem>> implementation #region ICollection<KeyValuePair<UUID, IInventoryItem>> implementation
public void Add (KeyValuePair<UUID, IInventoryItem> item) public void Add (KeyValuePair<UUID, IInventoryItem> item)
{ {
Add(item.Key, item.Value); Add(item.Key, item.Value);
} }
public void Clear () public void Clear ()
{ {
m_publicInventory.Clear(); m_publicInventory.Clear();
m_privateInventory.Clear(); m_privateInventory.Clear();
} }
public bool Contains (KeyValuePair<UUID, IInventoryItem> item) public bool Contains (KeyValuePair<UUID, IInventoryItem> item)
{ {
return m_privateInventory.ContainsKey(item.Key); return m_privateInventory.ContainsKey(item.Key);
} }
public void CopyTo (KeyValuePair<UUID, IInventoryItem>[] array, int arrayIndex) public void CopyTo (KeyValuePair<UUID, IInventoryItem>[] array, int arrayIndex)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
public bool Remove (KeyValuePair<UUID, IInventoryItem> item) public bool Remove (KeyValuePair<UUID, IInventoryItem> item)
{ {
return Remove(item.Key); return Remove(item.Key);
} }
public int Count { public int Count {
get { get {
return m_privateInventory.Count; return m_privateInventory.Count;
} }
} }
public bool IsReadOnly { public bool IsReadOnly {
get { get {
return false; return false;
} }
} }
#endregion #endregion
#region Explicit implementations #region Explicit implementations
IInventoryItem System.Collections.Generic.IDictionary<UUID, IInventoryItem>.this[UUID key] IInventoryItem System.Collections.Generic.IDictionary<UUID, IInventoryItem>.this[UUID key]
{ {
get { get {
IInventoryItem result; IInventoryItem result;
if(TryGetValue(key, out result)) if (TryGetValue(key, out result))
return result; return result;
else else
throw new KeyNotFoundException("[MRM] The requrested item ID could not be found"); throw new KeyNotFoundException("[MRM] The requrested item ID could not be found");
} }
set { set {
m_publicInventory[key] = value; m_publicInventory[key] = value;
m_privateInventory[key] = InventoryItem.FromInterface(value).ToTaskInventoryItem(); m_privateInventory[key] = InventoryItem.FromInterface(value).ToTaskInventoryItem();
} }
} }
void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<UUID, IInventoryItem>>.CopyTo(System.Collections.Generic.KeyValuePair<UUID,IInventoryItem>[] array, int offset) void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<UUID, IInventoryItem>>.CopyTo(System.Collections.Generic.KeyValuePair<UUID,IInventoryItem>[] array, int offset)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
#endregion #endregion
public IInventoryItem this[string name] public IInventoryItem this[string name]
{ {
get { get {
foreach(TaskInventoryItem i in m_privateInventory.Values) foreach (TaskInventoryItem i in m_privateInventory.Values)
if(i.Name == name) if (i.Name == name)
{ {
if(!m_publicInventory.ContainsKey(i.ItemID)) if (!m_publicInventory.ContainsKey(i.ItemID))
m_publicInventory.Add(i.ItemID, new InventoryItem(m_rootScene, i)); m_publicInventory.Add(i.ItemID, new InventoryItem(m_rootScene, i));
return m_publicInventory[i.ItemID]; return m_publicInventory[i.ItemID];
} }
throw new KeyNotFoundException(); throw new KeyNotFoundException();
} }
} }
} }
} }

View File

@ -72,32 +72,32 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
set { GetSP().TeleportWithMomentum(value); } set { GetSP().TeleportWithMomentum(value); }
} }
#region IAvatar implementation #region IAvatar implementation
public IAvatarAttachment[] Attachments public IAvatarAttachment[] Attachments
{ {
get { get {
List<IAvatarAttachment> attachments = new List<IAvatarAttachment>(); List<IAvatarAttachment> attachments = new List<IAvatarAttachment>();
Hashtable internalAttachments = GetSP().Appearance.GetAttachments(); Hashtable internalAttachments = GetSP().Appearance.GetAttachments();
if(internalAttachments != null) if (internalAttachments != null)
{ {
foreach(DictionaryEntry element in internalAttachments) foreach (DictionaryEntry element in internalAttachments)
{ {
Hashtable attachInfo = (Hashtable)element.Value; Hashtable attachInfo = (Hashtable)element.Value;
attachments.Add(new SPAvatarAttachment(m_rootScene, this, (int)element.Key, new UUID((string)attachInfo["item"]), new UUID((string)attachInfo["asset"]))); attachments.Add(new SPAvatarAttachment(m_rootScene, this, (int)element.Key, new UUID((string)attachInfo["item"]), new UUID((string)attachInfo["asset"])));
} }
} }
return attachments.ToArray(); return attachments.ToArray();
} }
} }
public void LoadUrl(IObject sender, string message, string url) public void LoadUrl(IObject sender, string message, string url)
{ {
IDialogModule dm = m_rootScene.RequestModuleInterface<IDialogModule>(); IDialogModule dm = m_rootScene.RequestModuleInterface<IDialogModule>();
if(dm != null) if (dm != null)
dm.SendUrlToUser(GetSP().UUID, sender.Name, sender.GlobalID, GetSP().UUID, false, message, url); dm.SendUrlToUser(GetSP().UUID, sender.Name, sender.GlobalID, GetSP().UUID, false, message, url);
} }
#endregion #endregion
} }
} }

View File

@ -33,30 +33,30 @@ using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
{ {
public class SPAvatarAttachment : IAvatarAttachment public class SPAvatarAttachment : IAvatarAttachment
{ {
private readonly Scene m_rootScene; private readonly Scene m_rootScene;
private readonly IAvatar m_parent; private readonly IAvatar m_parent;
private readonly int m_location; private readonly int m_location;
private readonly UUID m_itemId; private readonly UUID m_itemId;
private readonly UUID m_assetId; private readonly UUID m_assetId;
public SPAvatarAttachment(Scene rootScene, IAvatar self, int location, UUID itemId, UUID assetId) public SPAvatarAttachment(Scene rootScene, IAvatar self, int location, UUID itemId, UUID assetId)
{ {
m_rootScene = rootScene; m_rootScene = rootScene;
m_parent = self; m_parent = self;
m_location = location; m_location = location;
m_itemId = itemId; m_itemId = itemId;
m_assetId = assetId; m_assetId = assetId;
} }
public int Location { get { return m_location; } } public int Location { get { return m_location; } }
public IObject Asset public IObject Asset
{ {
get get
{ {
return new SOPObject(m_rootScene, m_rootScene.GetSceneObjectPart(m_assetId).LocalId); return new SOPObject(m_rootScene, m_rootScene.GetSceneObjectPart(m_assetId).LocalId);
} }
} }
} }
} }