From 6942eaed5b3d8065ebf01dc465e905ca456c0fa4 Mon Sep 17 00:00:00 2001 From: Charles Krinke Date: Mon, 29 Jun 2009 21:47:47 +0000 Subject: Thank you kindly, Snowdrop, for a patch that solves: The current API for MRM is quite sparse, this patch supplies basic support for accessing the task inventory of object. --- .../Scripting/Minimodule/Interfaces/IAvatar.cs | 8 +++++++- .../Scripting/Minimodule/Interfaces/IInventoryItem.cs | 16 ++++++++++++++++ .../Scripting/Minimodule/Interfaces/IObject.cs | 4 ++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IInventoryItem.cs (limited to 'OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces') diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IAvatar.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IAvatar.cs index 51ba36c..3345988 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IAvatar.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IAvatar.cs @@ -50,6 +50,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule //// /// Array of worn attachments, empty but not null, if no attachments are worn /// - IAvatarAttachment[] Attachments { get; } + + IAvatarAttachment[] Attachments { get; } + + /// + /// Request to open an url clientside + /// + void LoadUrl(IObject sender, string message, string url); } } diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IInventoryItem.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IInventoryItem.cs new file mode 100644 index 0000000..7490dda --- /dev/null +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IInventoryItem.cs @@ -0,0 +1,16 @@ +using System; +using OpenMetaverse; + +namespace OpenSim.Region.OptionalModules.Scripting.Minimodule +{ + + /// + /// This implements the methods needed to operate on individual inventory items. + /// + public interface IInventoryItem + { + int Type { get; } + UUID AssetID { get; } + T RetreiveAsset() where T : OpenMetaverse.Asset, new(); + } +} diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObject.cs index dd9cc29..1be3b71 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObject.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObject.cs @@ -179,6 +179,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule /// The message to send to the user void Say(string msg); + //// + /// Grants access to the objects inventory + /// + IObjectInventory Inventory { get; } } public enum PhysicsMaterial -- cgit v1.1