diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObjectAccessor.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObjectAccessor.cs index 7aed41b5a5..a6c8c3661f 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObjectAccessor.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObjectAccessor.cs @@ -35,5 +35,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule IObject this[int index] { get; } IObject this[uint index] { get; } IObject this[UUID index] { get; } + IObject Create(Vector3 position); + IObject Create(Vector3 position, Quaternion rotation); } } \ No newline at end of file diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/ObjectAccessor.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/ObjectAccessor.cs index a64a1c2d4d..4638ad04e1 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/ObjectAccessor.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/ObjectAccessor.cs @@ -29,6 +29,7 @@ using System; using System.Collections; using System.Collections.Generic; using OpenMetaverse; +using OpenSim.Framework; using OpenSim.Region.Framework.Scenes; using IEnumerable=System.Collections.IEnumerable; @@ -108,6 +109,25 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule } } + public IObject Create(Vector3 position) + { + return Create(position, Quaternion.Identity); + } + + public IObject Create(Vector3 position, Quaternion rotation) + { + + SceneObjectGroup sog = m_scene.AddNewPrim(m_scene.RegionInfo.MasterAvatarAssignedUUID, + UUID.Zero, + position, + rotation, + PrimitiveBaseShape.CreateBox()); + + IObject ret = new SOPObject(m_scene, sog.LocalId); + + return ret; + } + public IEnumerator GetEnumerator() { return new IObjEnum(m_scene);