From f70ec1fa75ef526266ad359d2db0e25f2635c182 Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Wed, 18 Jul 2007 09:36:47 +0000 Subject: * Added a FileSystemObject to SimpleApp * Added Some ShapeTypes (shapes doesn't work though!) * Fixed some \0 issues --- OpenSim/Region/ClientStack/ClientView.API.cs | 4 +-- .../Region/Examples/SimpleApp/FileSystemObject.cs | 31 ++++++++++++++++++++++ OpenSim/Region/Examples/SimpleApp/Program.cs | 26 +++++++++++++++--- 3 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 OpenSim/Region/Examples/SimpleApp/FileSystemObject.cs (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs index 2ac1000..044ad68 100644 --- a/OpenSim/Region/ClientStack/ClientView.API.cs +++ b/OpenSim/Region/ClientStack/ClientView.API.cs @@ -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); diff --git a/OpenSim/Region/Examples/SimpleApp/FileSystemObject.cs b/OpenSim/Region/Examples/SimpleApp/FileSystemObject.cs new file mode 100644 index 0000000..2e43fe6 --- /dev/null +++ b/OpenSim/Region/Examples/SimpleApp/FileSystemObject.cs @@ -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(); + } + } +} diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs index 4dae461..82dba0e 100644 --- a/OpenSim/Region/Examples/SimpleApp/Program.cs +++ b/OpenSim/Region/Examples/SimpleApp/Program.cs @@ -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(); } -- cgit v1.1