* More work on MiniRegionModule module.
parent
3538eeafa2
commit
915b0f2448
|
@ -0,0 +1,10 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace OpenSim.Region.CoreModules.World.Tests
|
||||
{
|
||||
class SOGSpamTest
|
||||
{
|
||||
}
|
||||
}
|
|
@ -866,6 +866,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (m_updateEntitiesThread.ThreadState == ThreadState.Stopped)
|
||||
m_updateEntitiesThread.Start();
|
||||
*/
|
||||
|
||||
m_sceneGraph.UpdateEntities();
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
using OpenSim.Region.Framework.Scenes;
|
||||
|
||||
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
|
||||
{
|
||||
public class Heightmap : IHeightmap
|
||||
{
|
||||
private Scene m_scene;
|
||||
|
||||
public Heightmap(Scene scene)
|
||||
{
|
||||
m_scene = scene;
|
||||
}
|
||||
|
||||
public int Height
|
||||
{
|
||||
get { return m_scene.Heightmap.Height; }
|
||||
}
|
||||
|
||||
public int Width
|
||||
{
|
||||
get { return m_scene.Heightmap.Width; }
|
||||
}
|
||||
|
||||
public double Get(int x, int y)
|
||||
{
|
||||
return m_scene.Heightmap[x, y];
|
||||
}
|
||||
|
||||
public void Set(int x, int y, double val)
|
||||
{
|
||||
m_scene.Heightmap[x, y] = val;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,7 +4,7 @@ using System.Text;
|
|||
|
||||
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
|
||||
{
|
||||
interface IHeightmap
|
||||
public interface IHeightmap
|
||||
{
|
||||
int Height { get; }
|
||||
int Width { get; }
|
||||
|
|
|
@ -4,7 +4,7 @@ using OpenMetaverse;
|
|||
|
||||
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
|
||||
{
|
||||
interface IObject
|
||||
public interface IObject
|
||||
{
|
||||
bool Exists { get; }
|
||||
uint LocalID { get; }
|
||||
|
|
|
@ -6,6 +6,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
|
|||
{
|
||||
interface IWorld
|
||||
{
|
||||
|
||||
IObject[] Objects { get; }
|
||||
IHeightmap Terrain { get; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,166 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
|
||||
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
|
||||
{
|
||||
class SOPObject : IObject
|
||||
{
|
||||
private readonly Scene m_rootScene;
|
||||
private readonly uint m_localID;
|
||||
|
||||
public SOPObject(Scene rootScene, uint localID)
|
||||
{
|
||||
m_rootScene = rootScene;
|
||||
m_localID = localID;
|
||||
}
|
||||
|
||||
private SceneObjectPart GetSOP()
|
||||
{
|
||||
if (m_rootScene.Entities.ContainsKey(m_localID))
|
||||
return ((SceneObjectGroup) m_rootScene.Entities[m_localID]).RootPart;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public bool Exists
|
||||
{
|
||||
get { return GetSOP() != null; }
|
||||
}
|
||||
|
||||
public uint LocalID
|
||||
{
|
||||
get { return m_localID; }
|
||||
}
|
||||
|
||||
public UUID GlobalID
|
||||
{
|
||||
get { return GetSOP().UUID; }
|
||||
}
|
||||
|
||||
public IObject[] Children
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public IObject Root
|
||||
{
|
||||
get { return new SOPObject(m_rootScene, GetSOP().ParentGroup.RootPart.LocalId); }
|
||||
}
|
||||
|
||||
public IObjectFace[] Faces
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public Vector3 Scale
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public Quaternion Rotation
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public Vector3 SitTarget
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public string SitTargetText
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public string TouchText
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsPhysical
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsPhantom
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsRotationLockedX
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsRotationLockedY
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsRotationLockedZ
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsSandboxed
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsImmotile
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsAlwaysReturned
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsTemporary
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public bool IsFlexible
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public PrimType PrimShape
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
|
||||
public Material Material
|
||||
{
|
||||
get { throw new System.NotImplementedException(); }
|
||||
set { throw new System.NotImplementedException(); }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
using System.Collections.Generic;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
|
||||
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
|
||||
{
|
||||
public class World : IWorld
|
||||
{
|
||||
private readonly Scene m_internalScene;
|
||||
private readonly Heightmap m_heights;
|
||||
|
||||
public World(Scene internalScene)
|
||||
{
|
||||
m_internalScene = internalScene;
|
||||
m_heights = new Heightmap(m_internalScene);
|
||||
}
|
||||
|
||||
public IObject[] Objects
|
||||
{
|
||||
get
|
||||
{
|
||||
List<EntityBase> ents = m_internalScene.Entities.GetAllByType<SceneObjectGroup>();
|
||||
IObject[] rets = new IObject[ents.Count];
|
||||
|
||||
for (int i = 0; i < ents.Count; i++)
|
||||
{
|
||||
EntityBase ent = ents[i];
|
||||
rets[i] = new SOPObject(m_internalScene, ent.LocalId);
|
||||
}
|
||||
|
||||
return rets;
|
||||
}
|
||||
}
|
||||
|
||||
public IHeightmap Terrain
|
||||
{
|
||||
get { return m_heights; }
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue