* Added a FileSystemObject to SimpleApp

* Added Some ShapeTypes (shapes doesn't work though!)
* Fixed some \0 issues
afrisby
lbsa71 2007-07-18 09:36:47 +00:00
parent c52f9c04e2
commit f70ec1fa75
5 changed files with 131 additions and 62 deletions

View File

@ -194,35 +194,35 @@ namespace OpenSim.Framework.Types
return bytes;
}
public static PrimData DefaultCube()
{
PrimData primData = new PrimData();
primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
primData.FullID = LLUUID.Random();
primData.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
primData.Rotation = new LLQuaternion(0, 0, 0, 1);
primData.PCode = 9;
primData.ParentID = 0;
primData.PathBegin = 0;
primData.PathEnd = 0;
primData.PathScaleX = 0;
primData.PathScaleY = 0;
primData.PathShearX = 0;
primData.PathShearY = 0;
primData.PathSkew = 0;
primData.ProfileBegin = 0;
primData.ProfileEnd = 0;
primData.PathCurve = 16;
primData.ProfileCurve = 1;
primData.ProfileHollow = 0;
primData.PathRadiusOffset = 0;
primData.PathRevolutions = 0;
primData.PathTaperX = 0;
primData.PathTaperY = 0;
primData.PathTwist = 0;
primData.PathTwistBegin = 0;
//public static PrimData DefaultCube()
//{
// PrimData primData = new PrimData();
// primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
// primData.FullID = LLUUID.Random();
// primData.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
// primData.Rotation = new LLQuaternion(0, 0, 0, 1);
// primData.PCode = 9;
// primData.ParentID = 0;
// primData.PathBegin = 0;
// primData.PathEnd = 0;
// primData.PathScaleX = 0;
// primData.PathScaleY = 0;
// primData.PathShearX = 0;
// primData.PathShearY = 0;
// primData.PathSkew = 0;
// primData.ProfileBegin = 0;
// primData.ProfileEnd = 0;
// primData.PathCurve = 16;
// primData.ProfileCurve = 1;
// primData.ProfileHollow = 0;
// primData.PathRadiusOffset = 0;
// primData.PathRevolutions = 0;
// primData.PathTaperX = 0;
// primData.PathTaperY = 0;
// primData.PathTwist = 0;
// primData.PathTwistBegin = 0;
return primData;
}
// return primData;
//}
}
}

View File

@ -19,7 +19,7 @@ namespace OpenSim.Framework.Types
public class PrimitiveBaseShape
{
private ShapeType type = ShapeType.Unknown;
protected ShapeType type = ShapeType.Unknown;
public byte PCode;
public ushort PathBegin;
@ -72,38 +72,56 @@ namespace OpenSim.Framework.Types
public PrimitiveBaseShape Copy()
{
return (PrimitiveBaseShape) this.MemberwiseClone();
return (PrimitiveBaseShape)this.MemberwiseClone();
}
}
public class BoxShape : PrimitiveBaseShape
{
public BoxShape()
{
type = ShapeType.Box;
}
public static PrimitiveBaseShape DefaultBox()
public static BoxShape Default
{
PrimitiveBaseShape primShape = new PrimitiveBaseShape();
get
{
BoxShape primShape = new BoxShape();
primShape.type = ShapeType.Box;
primShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
primShape.PCode = 9;
primShape.PathBegin = 0;
primShape.PathEnd = 0;
primShape.PathScaleX = 0;
primShape.PathScaleY = 0;
primShape.PathShearX = 0;
primShape.PathShearY = 0;
primShape.PathSkew = 0;
primShape.ProfileBegin = 0;
primShape.ProfileEnd = 0;
primShape.PathCurve = 16;
primShape.ProfileCurve = 1;
primShape.ProfileHollow = 0;
primShape.PathRadiusOffset = 0;
primShape.PathRevolutions = 0;
primShape.PathTaperX = 0;
primShape.PathTaperY = 0;
primShape.PathTwist = 0;
primShape.PathTwistBegin = 0;
LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
primShape.TextureEntry = ntex.ToBytes();
primShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
primShape.PCode = 9;
primShape.PathBegin = 0;
primShape.PathEnd = 0;
primShape.PathScaleX = 0;
primShape.PathScaleY = 0;
primShape.PathShearX = 0;
primShape.PathShearY = 0;
primShape.PathSkew = 0;
primShape.ProfileBegin = 0;
primShape.ProfileEnd = 0;
primShape.PathCurve = 16;
primShape.ProfileCurve = 1;
primShape.ProfileHollow = 0;
primShape.PathRadiusOffset = 0;
primShape.PathRevolutions = 0;
primShape.PathTaperX = 0;
primShape.PathTaperY = 0;
primShape.PathTwist = 0;
primShape.PathTwistBegin = 0;
LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
primShape.TextureEntry = ntex.ToBytes();
return primShape;
return primShape;
}
}
}
public class SphereShape : PrimitiveBaseShape
{
public SphereShape()
{
type = ShapeType.Sphere;
}
}
}

View File

@ -779,7 +779,7 @@ namespace OpenSim.Region.ClientStack
outPacket.ObjectData[0].ID = localID;
outPacket.ObjectData[0].FullID = objectID;
outPacket.ObjectData[0].OwnerID = ownerID;
outPacket.ObjectData[0].Text = enc.GetBytes(text);
outPacket.ObjectData[0].Text = Helpers.StringToField( text );
outPacket.ObjectData[0].ParentID = parentID;
byte[] pb = pos.GetBytes();
Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
@ -798,7 +798,7 @@ namespace OpenSim.Region.ClientStack
outPacket.ObjectData[0].ID = localID;
outPacket.ObjectData[0].FullID = objectID;
outPacket.ObjectData[0].OwnerID = ownerID;
outPacket.ObjectData[0].Text = enc.GetBytes(text);
outPacket.ObjectData[0].Text = Helpers.StringToField( text );
outPacket.ObjectData[0].ParentID = parentID;
byte[] pb = pos.GetBytes();
Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);

View File

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.Environment.Scenes;
using libsecondlife;
using OpenSim.Framework.Types;
using System.Timers;
using System.Diagnostics;
using System.IO;
using Primitive=OpenSim.Region.Environment.Scenes.Primitive;
namespace SimpleApp
{
public class FileSystemObject : SceneObject
{
public FileSystemObject(Scene world, FileInfo fileInfo, LLVector3 pos)
: base( world, world.EventManager, LLUUID.Zero, world.NextLocalId, pos, BoxShape.Default )
{
float size = (float)Math.Pow((double)fileInfo.Length, (double) 1 / 3) / 5;
rootPrimitive.ResizeGoup(new LLVector3(size, size, size));
rootPrimitive.Text = fileInfo.Name;
}
public override void Update()
{
base.Update();
}
}
}

View File

@ -17,6 +17,7 @@ using System.Timers;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Framework.Data;
using OpenSim.Region.Environment;
using System.IO;
namespace SimpleApp
{
@ -58,16 +59,35 @@ namespace SimpleApp
udpServer.ServerListener();
PrimitiveBaseShape shape = PrimitiveBaseShape.DefaultBox();
PrimitiveBaseShape shape = BoxShape.Default;
shape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
LLVector3 pos = new LLVector3(138, 129, 27);
SceneObject m_sceneObject = new CpuCounterObject(scene, scene.EventManager, LLUUID.Zero, scene.PrimIDAllocate(), pos, shape);
scene.AddEntity(m_sceneObject);
SceneObject sceneObject = new CpuCounterObject(scene, scene.EventManager, LLUUID.Zero, scene.PrimIDAllocate(), pos, shape);
scene.AddEntity(sceneObject);
MyNpcCharacter m_character = new MyNpcCharacter( scene.EventManager );
scene.AddNewClient(m_character, false);
DirectoryInfo dirInfo = new DirectoryInfo( "." );
float x = 0;
float z = 0;
foreach( FileInfo fileInfo in dirInfo.GetFiles())
{
LLVector3 filePos = new LLVector3(100 + x, 129, 27 + z);
x = x + 2;
if( x > 50 )
{
x = 0;
z = z + 2;
}
FileSystemObject fileObject = new FileSystemObject( scene, fileInfo, filePos );
scene.AddEntity(fileObject);
}
m_log.WriteLine(LogPriority.NORMAL, "Press enter to quit.");
m_log.ReadLine();
}