Update svn properties.

0.6.0-stable
Jeff Ames 2008-03-14 00:41:09 +00:00
parent 4e588c715d
commit 94c39c793a
7 changed files with 969 additions and 969 deletions

View File

@ -1,137 +1,137 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
using libsecondlife;
using OpenSim.Framework;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
{
public class ComplexObject : SceneObjectGroup
{
private readonly LLQuaternion m_rotationDirection;
protected override bool InSceneBackup
{
get
{
return false;
}
}
private class RotatingWheel : SceneObjectPart
{
private readonly LLQuaternion m_rotationDirection;
public RotatingWheel()
{
}
public RotatingWheel(ulong regionHandle, SceneObjectGroup parent, LLUUID ownerID, uint localID,
LLVector3 groupPosition, LLVector3 offsetPosition, LLQuaternion rotationDirection)
: base(
regionHandle, parent, ownerID, localID, PrimitiveBaseShape.Default, groupPosition, offsetPosition
)
{
m_rotationDirection = rotationDirection;
Flags |= LLObject.ObjectFlags.Touch;
}
public override void UpdateMovement()
{
UpdateRotation(RotationOffset*m_rotationDirection);
}
}
public override void UpdateMovement()
{
UpdateGroupRotation(GroupRotation*m_rotationDirection);
base.UpdateMovement();
}
public ComplexObject()
{
}
public ComplexObject(Scene scene, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
: base(scene, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
{
m_rotationDirection = new LLQuaternion(0.05f, 0.1f, 0.15f);
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, 0.75f),
new LLQuaternion(0.05f, 0, 0)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, -0.75f),
new LLQuaternion(-0.05f, 0, 0)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0.75f, 0),
new LLQuaternion(0.5f, 0, 0.05f)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, -0.75f, 0),
new LLQuaternion(-0.5f, 0, -0.05f)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0.75f, 0, 0),
new LLQuaternion(0, 0.5f, 0.05f)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(-0.75f, 0, 0),
new LLQuaternion(0, -0.5f, -0.05f)));
RootPart.Flags |= LLObject.ObjectFlags.Touch;
UpdateParentIDs();
}
public override void OnGrabPart(SceneObjectPart part, LLVector3 offsetPos, IClientAPI remoteClient)
{
m_parts.Remove(part.UUID);
remoteClient.SendKillObject(m_regionHandle, part.LocalId);
remoteClient.AddMoney(1);
remoteClient.SendChatMessage("Poof!", 1, AbsolutePosition, "Party Party", LLUUID.Zero);
}
public override void OnGrabGroup(LLVector3 offsetPos, IClientAPI remoteClient)
{
if (m_parts.Count == 1)
{
m_parts.Remove(m_rootPart.UUID);
m_scene.RemoveEntity(this);
remoteClient.SendKillObject(m_regionHandle, m_rootPart.LocalId);
remoteClient.AddMoney(50);
remoteClient.SendChatMessage("KABLAM!!!", 1, AbsolutePosition, "Groupie Groupie", LLUUID.Zero);
}
}
}
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
using libsecondlife;
using OpenSim.Framework;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
{
public class ComplexObject : SceneObjectGroup
{
private readonly LLQuaternion m_rotationDirection;
protected override bool InSceneBackup
{
get
{
return false;
}
}
private class RotatingWheel : SceneObjectPart
{
private readonly LLQuaternion m_rotationDirection;
public RotatingWheel()
{
}
public RotatingWheel(ulong regionHandle, SceneObjectGroup parent, LLUUID ownerID, uint localID,
LLVector3 groupPosition, LLVector3 offsetPosition, LLQuaternion rotationDirection)
: base(
regionHandle, parent, ownerID, localID, PrimitiveBaseShape.Default, groupPosition, offsetPosition
)
{
m_rotationDirection = rotationDirection;
Flags |= LLObject.ObjectFlags.Touch;
}
public override void UpdateMovement()
{
UpdateRotation(RotationOffset*m_rotationDirection);
}
}
public override void UpdateMovement()
{
UpdateGroupRotation(GroupRotation*m_rotationDirection);
base.UpdateMovement();
}
public ComplexObject()
{
}
public ComplexObject(Scene scene, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
: base(scene, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
{
m_rotationDirection = new LLQuaternion(0.05f, 0.1f, 0.15f);
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, 0.75f),
new LLQuaternion(0.05f, 0, 0)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, -0.75f),
new LLQuaternion(-0.05f, 0, 0)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0.75f, 0),
new LLQuaternion(0.5f, 0, 0.05f)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, -0.75f, 0),
new LLQuaternion(-0.5f, 0, -0.05f)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0.75f, 0, 0),
new LLQuaternion(0, 0.5f, 0.05f)));
AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(-0.75f, 0, 0),
new LLQuaternion(0, -0.5f, -0.05f)));
RootPart.Flags |= LLObject.ObjectFlags.Touch;
UpdateParentIDs();
}
public override void OnGrabPart(SceneObjectPart part, LLVector3 offsetPos, IClientAPI remoteClient)
{
m_parts.Remove(part.UUID);
remoteClient.SendKillObject(m_regionHandle, part.LocalId);
remoteClient.AddMoney(1);
remoteClient.SendChatMessage("Poof!", 1, AbsolutePosition, "Party Party", LLUUID.Zero);
}
public override void OnGrabGroup(LLVector3 offsetPos, IClientAPI remoteClient)
{
if (m_parts.Count == 1)
{
m_parts.Remove(m_rootPart.UUID);
m_scene.RemoveEntity(this);
remoteClient.SendKillObject(m_regionHandle, m_rootPart.LocalId);
remoteClient.AddMoney(50);
remoteClient.SendChatMessage("KABLAM!!!", 1, AbsolutePosition, "Groupie Groupie", LLUUID.Zero);
}
}
}
}

View File

@ -1,69 +1,69 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
using System;
using System.Diagnostics;
using libsecondlife;
using OpenSim.Framework;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
{
public class CpuCounterObject : SceneObjectGroup
{
protected override bool InSceneBackup
{
get
{
return false;
}
}
private PerformanceCounter m_counter;
public CpuCounterObject(Scene world, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
: base(world, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
{
String objectName = "Processor";
String counterName = "% Processor Time";
String instanceName = "_Total";
m_counter = new PerformanceCounter(objectName, counterName, instanceName);
}
public override void UpdateMovement()
{
float cpu = m_counter.NextValue()/40f;
LLVector3 size = new LLVector3(cpu, cpu, cpu);
RootPart.Resize( size );
base.UpdateMovement();
}
}
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
using System;
using System.Diagnostics;
using libsecondlife;
using OpenSim.Framework;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
{
public class CpuCounterObject : SceneObjectGroup
{
protected override bool InSceneBackup
{
get
{
return false;
}
}
private PerformanceCounter m_counter;
public CpuCounterObject(Scene world, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
: base(world, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
{
String objectName = "Processor";
String counterName = "% Processor Time";
String instanceName = "_Total";
m_counter = new PerformanceCounter(objectName, counterName, instanceName);
}
public override void UpdateMovement()
{
float cpu = m_counter.NextValue()/40f;
LLVector3 size = new LLVector3(cpu, cpu, cpu);
RootPart.Resize( size );
base.UpdateMovement();
}
}
}

View File

@ -1,53 +1,53 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
using System.IO;
using libsecondlife;
using OpenSim.Framework;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
{
public class FileSystemObject : SceneObjectGroup
{
public FileSystemObject(Scene world, FileInfo fileInfo, LLVector3 pos)
: base(world, world.RegionInfo.RegionHandle, LLUUID.Zero, world.NextLocalId, pos, PrimitiveBaseShape.Default)
{
Text = fileInfo.Name;
ScheduleGroupForFullUpdate();
}
protected override bool InSceneBackup
{
get
{
return false;
}
}
}
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
using System.IO;
using libsecondlife;
using OpenSim.Framework;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
{
public class FileSystemObject : SceneObjectGroup
{
public FileSystemObject(Scene world, FileInfo fileInfo, LLVector3 pos)
: base(world, world.RegionInfo.RegionHandle, LLUUID.Zero, world.NextLocalId, pos, PrimitiveBaseShape.Default)
{
Text = fileInfo.Name;
ScheduleGroupForFullUpdate();
}
protected override bool InSceneBackup
{
get
{
return false;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,36 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("OpenSim.Region.Examples.SimpleModule")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OpenSim.Region.Examples.SimpleModule")]
[assembly: AssemblyCopyright("Copyright © 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f0caca77-7818-4a43-9200-0a8548009a05")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("OpenSim.Region.Examples.SimpleModule")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OpenSim.Region.Examples.SimpleModule")]
[assembly: AssemblyCopyright("Copyright © 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f0caca77-7818-4a43-9200-0a8548009a05")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -1,9 +1,9 @@
!!!IMPORTANT NOTE!!!
This code snippet provided as an example of coding functional content with region modules.
As of 13/3 2008 this module actually renders all regions within the instance unusable if enabled by dragging the dll from ./bin to global /bin.
So, use at own peril and in dedicated instance.
Peace.
!!!IMPORTANT NOTE!!!
This code snippet provided as an example of coding functional content with region modules.
As of 13/3 2008 this module actually renders all regions within the instance unusable if enabled by dragging the dll from ./bin to global /bin.
So, use at own peril and in dedicated instance.
Peace.

View File

@ -1,114 +1,114 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using libsecondlife;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
{
public class RegionModule : IRegionModule
{
#region IRegionModule Members
private Scene m_scene;
public void Initialise(Scene scene, IConfigSource source)
{
m_scene = scene;
}
public void PostInitialise()
{
RegionInfo regionInfo = m_scene.RegionInfo;
LLVector3 pos = new LLVector3(110, 129, 27);
AddCpuCounter(regionInfo, pos);
AddComplexObjects(regionInfo, pos);
AddAvatars();
AddFileSystemObjects();
}
private void AddFileSystemObjects()
{
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(m_scene, fileInfo, filePos);
m_scene.AddEntity(fileObject);
}
}
private void AddAvatars()
{
for (int i = 0; i < 2; i++)
{
MyNpcCharacter m_character = new MyNpcCharacter(m_scene.EventManager);
m_scene.AddNewClient(m_character, false);
}
List<ScenePresence> avatars = m_scene.GetAvatars();
foreach (ScenePresence avatar in avatars)
{
avatar.AbsolutePosition =
new LLVector3((float)Util.RandomClass.Next(100, 200), (float)Util.RandomClass.Next(30, 200), 2);
}
}
private void AddComplexObjects(RegionInfo regionInfo, LLVector3 pos)
{
int objs = 3;
for (int i = 0; i < (objs*objs*objs); i++)
{
LLVector3 posOffset = new LLVector3((i % objs) * 4, ((i % (objs*objs)) / ( objs )) * 4, (i / (objs*objs)) * 4);
ComplexObject complexObject =
new ComplexObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
pos + posOffset);
m_scene.AddEntity(complexObject);
}
}
private void AddCpuCounter(RegionInfo regionInfo, LLVector3 pos)
{
SceneObjectGroup sceneObject =
new CpuCounterObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
pos + new LLVector3(1f, 1f, 1f));
m_scene.AddEntity(sceneObject);
}
public void Close()
{
m_scene = null;
}
public string Name
{
get { return GetType().AssemblyQualifiedName; }
}
public bool IsSharedModule
{
get { return false; }
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using libsecondlife;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
{
public class RegionModule : IRegionModule
{
#region IRegionModule Members
private Scene m_scene;
public void Initialise(Scene scene, IConfigSource source)
{
m_scene = scene;
}
public void PostInitialise()
{
RegionInfo regionInfo = m_scene.RegionInfo;
LLVector3 pos = new LLVector3(110, 129, 27);
AddCpuCounter(regionInfo, pos);
AddComplexObjects(regionInfo, pos);
AddAvatars();
AddFileSystemObjects();
}
private void AddFileSystemObjects()
{
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(m_scene, fileInfo, filePos);
m_scene.AddEntity(fileObject);
}
}
private void AddAvatars()
{
for (int i = 0; i < 2; i++)
{
MyNpcCharacter m_character = new MyNpcCharacter(m_scene.EventManager);
m_scene.AddNewClient(m_character, false);
}
List<ScenePresence> avatars = m_scene.GetAvatars();
foreach (ScenePresence avatar in avatars)
{
avatar.AbsolutePosition =
new LLVector3((float)Util.RandomClass.Next(100, 200), (float)Util.RandomClass.Next(30, 200), 2);
}
}
private void AddComplexObjects(RegionInfo regionInfo, LLVector3 pos)
{
int objs = 3;
for (int i = 0; i < (objs*objs*objs); i++)
{
LLVector3 posOffset = new LLVector3((i % objs) * 4, ((i % (objs*objs)) / ( objs )) * 4, (i / (objs*objs)) * 4);
ComplexObject complexObject =
new ComplexObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
pos + posOffset);
m_scene.AddEntity(complexObject);
}
}
private void AddCpuCounter(RegionInfo regionInfo, LLVector3 pos)
{
SceneObjectGroup sceneObject =
new CpuCounterObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
pos + new LLVector3(1f, 1f, 1f));
m_scene.AddEntity(sceneObject);
}
public void Close()
{
m_scene = null;
}
public string Name
{
get { return GetType().AssemblyQualifiedName; }
}
public bool IsSharedModule
{
get { return false; }
}
#endregion
}
}