From 8a2360bf815d4d78fcff34a69dec24782494bd2e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 9 Mar 2011 01:21:31 +0000
Subject: Simplify TestLoadIarV0_1AbsentUsers() to use common IAR test setup.
Make static dictionaries on NullUserAccountData instance instead to stop user
accounts being carried over between tests
---
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs')
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index 5be70bc..08cc7c5 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -304,12 +304,12 @@ namespace OpenSim.Tests.Common.Setup
config.Configs["UserAccountService"].Set(
"LocalServiceModule", "OpenSim.Services.UserAccountService.dll:UserAccountService");
- if (m_userAccountService == null)
- {
+// if (m_userAccountService == null)
+// {
ISharedRegionModule userAccountService = new LocalUserAccountServicesConnector();
userAccountService.Initialise(config);
m_userAccountService = userAccountService;
- }
+// }
m_userAccountService.AddRegion(testScene);
m_userAccountService.RegionLoaded(testScene);
--
cgit v1.1
From f375a5e9cbe96b0a07c52f27b0a4b2b620e5d6d8 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 9 Mar 2011 01:31:47 +0000
Subject: Simplify SceneSetupHelpers class by removing all code which was
originally preserving service instances between tests. This wasn't being
used anyway and just leads to hard to diagnose test failures.
---
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 93 +++++++++++--------------
1 file changed, 40 insertions(+), 53 deletions(-)
(limited to 'OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs')
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index 08cc7c5..2aeafc8 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -59,19 +59,14 @@ namespace OpenSim.Tests.Common.Setup
{
// These static variables in order to allow regions to be linked by shared modules and same
// CommunicationsManager.
- private static ISharedRegionModule m_assetService = null;
-// private static ISharedRegionModule m_authenticationService = null;
private static ISharedRegionModule m_inventoryService = null;
- private static ISharedRegionModule m_gridService = null;
- private static ISharedRegionModule m_userAccountService = null;
- private static ISharedRegionModule m_presenceService = null;
///
/// Set up a test scene
///
- ///
+ ///
/// Automatically starts service threads, as would the normal runtime.
- ///
+ ///
///
public static TestScene SetupScene()
{
@@ -156,10 +151,7 @@ namespace OpenSim.Tests.Common.Setup
testScene.AddModule(godsModule.Name, godsModule);
realServices = realServices.ToLower();
- if (realServices.Contains("asset"))
- StartAssetService(testScene, true);
- else
- StartAssetService(testScene, false);
+ LocalAssetServicesConnector assetService = StartAssetService(testScene, realServices.Contains("asset"));
// For now, always started a 'real' authentication service
StartAuthenticationService(testScene, true);
@@ -169,14 +161,15 @@ namespace OpenSim.Tests.Common.Setup
else
StartInventoryService(testScene, false);
- StartGridService(testScene, true);
- StartUserAccountService(testScene);
- StartPresenceService(testScene);
+ StartGridService(testScene, true);
+ LocalUserAccountServicesConnector userAccountService = StartUserAccountService(testScene);
+ LocalPresenceServicesConnector presenceService = StartPresenceService(testScene);
m_inventoryService.PostInitialise();
- m_assetService.PostInitialise();
- m_userAccountService.PostInitialise();
- m_presenceService.PostInitialise();
+ assetService.PostInitialise();
+ userAccountService.PostInitialise();
+ presenceService.PostInitialise();
+
testScene.RegionInfo.EstateSettings.EstateOwner = UUID.Random();
testScene.SetModuleInterfaces();
@@ -191,11 +184,7 @@ namespace OpenSim.Tests.Common.Setup
// It's really not a good idea to use static variables as they carry over between tests, leading to
// problems that are extremely hard to debug. Really, these static fields need to be eliminated -
// tests using multiple regions that need to share modules need to find another solution.
- m_assetService = null;
m_inventoryService = null;
- m_gridService = null;
- m_userAccountService = null;
- m_presenceService = null;
testScene.RegionInfo.EstateSettings = new EstateSettings();
testScene.LoginsDisabled = false;
@@ -203,9 +192,9 @@ namespace OpenSim.Tests.Common.Setup
return testScene;
}
- private static void StartAssetService(Scene testScene, bool real)
+ private static LocalAssetServicesConnector StartAssetService(Scene testScene, bool real)
{
- ISharedRegionModule assetService = new LocalAssetServicesConnector();
+ LocalAssetServicesConnector assetService = new LocalAssetServicesConnector();
IConfigSource config = new IniConfigSource();
config.AddConfig("Modules");
config.AddConfig("AssetService");
@@ -219,7 +208,8 @@ namespace OpenSim.Tests.Common.Setup
assetService.AddRegion(testScene);
assetService.RegionLoaded(testScene);
testScene.AddRegionModule(assetService.Name, assetService);
- m_assetService = assetService;
+
+ return assetService;
}
private static void StartAuthenticationService(Scene testScene, bool real)
@@ -268,7 +258,7 @@ namespace OpenSim.Tests.Common.Setup
m_inventoryService = inventoryService;
}
- private static void StartGridService(Scene testScene, bool real)
+ private static LocalGridServicesConnector StartGridService(Scene testScene, bool real)
{
IConfigSource config = new IniConfigSource();
config.AddConfig("Modules");
@@ -277,24 +267,25 @@ namespace OpenSim.Tests.Common.Setup
config.Configs["GridService"].Set("StorageProvider", "OpenSim.Data.Null.dll:NullRegionData");
if (real)
config.Configs["GridService"].Set("LocalServiceModule", "OpenSim.Services.GridService.dll:GridService");
- if (m_gridService == null)
- {
- ISharedRegionModule gridService = new LocalGridServicesConnector();
- gridService.Initialise(config);
- m_gridService = gridService;
- }
+
+ LocalGridServicesConnector gridService = new LocalGridServicesConnector();
+ gridService.Initialise(config);
+
//else
// config.Configs["GridService"].Set("LocalServiceModule", "OpenSim.Tests.Common.dll:TestGridService");
- m_gridService.AddRegion(testScene);
- m_gridService.RegionLoaded(testScene);
+ gridService.AddRegion(testScene);
+ gridService.RegionLoaded(testScene);
//testScene.AddRegionModule(m_gridService.Name, m_gridService);
+
+ return gridService;
}
///
/// Start a user account service
///
///
- private static void StartUserAccountService(Scene testScene)
+ ///
+ private static LocalUserAccountServicesConnector StartUserAccountService(Scene testScene)
{
IConfigSource config = new IniConfigSource();
config.AddConfig("Modules");
@@ -304,23 +295,21 @@ namespace OpenSim.Tests.Common.Setup
config.Configs["UserAccountService"].Set(
"LocalServiceModule", "OpenSim.Services.UserAccountService.dll:UserAccountService");
-// if (m_userAccountService == null)
-// {
- ISharedRegionModule userAccountService = new LocalUserAccountServicesConnector();
- userAccountService.Initialise(config);
- m_userAccountService = userAccountService;
-// }
+ LocalUserAccountServicesConnector userAccountService = new LocalUserAccountServicesConnector();
+ userAccountService.Initialise(config);
- m_userAccountService.AddRegion(testScene);
- m_userAccountService.RegionLoaded(testScene);
- testScene.AddRegionModule(m_userAccountService.Name, m_userAccountService);
+ userAccountService.AddRegion(testScene);
+ userAccountService.RegionLoaded(testScene);
+ testScene.AddRegionModule(userAccountService.Name, userAccountService);
+
+ return userAccountService;
}
///
/// Start a presence service
///
///
- private static void StartPresenceService(Scene testScene)
+ private static LocalPresenceServicesConnector StartPresenceService(Scene testScene)
{
IConfigSource config = new IniConfigSource();
config.AddConfig("Modules");
@@ -330,16 +319,14 @@ namespace OpenSim.Tests.Common.Setup
config.Configs["PresenceService"].Set(
"LocalServiceModule", "OpenSim.Services.PresenceService.dll:PresenceService");
- if (m_presenceService == null)
- {
- ISharedRegionModule presenceService = new LocalPresenceServicesConnector();
- presenceService.Initialise(config);
- m_presenceService = presenceService;
- }
+ LocalPresenceServicesConnector presenceService = new LocalPresenceServicesConnector();
+ presenceService.Initialise(config);
- m_presenceService.AddRegion(testScene);
- m_presenceService.RegionLoaded(testScene);
- testScene.AddRegionModule(m_presenceService.Name, m_presenceService);
+ presenceService.AddRegion(testScene);
+ presenceService.RegionLoaded(testScene);
+ testScene.AddRegionModule(presenceService.Name, presenceService);
+
+ return presenceService;
}
///
--
cgit v1.1
From 2fa8fc505223cbd2b6e327fe946748c717dda3b5 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 9 Mar 2011 01:37:31 +0000
Subject: remove inventory service preserving code from SceneSetupHelpers too
---
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 47 ++++++-------------------
1 file changed, 10 insertions(+), 37 deletions(-)
(limited to 'OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs')
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index 2aeafc8..aa4b285 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -57,10 +57,6 @@ namespace OpenSim.Tests.Common.Setup
///
public class SceneSetupHelpers
{
- // These static variables in order to allow regions to be linked by shared modules and same
- // CommunicationsManager.
- private static ISharedRegionModule m_inventoryService = null;
-
///
/// Set up a test scene
///
@@ -81,24 +77,9 @@ namespace OpenSim.Tests.Common.Setup
///
public static TestScene SetupScene(String realServices)
{
- return SetupScene(
- "Unit test region", UUID.Random(), 1000, 1000, realServices);
+ return SetupScene("Unit test region", UUID.Random(), 1000, 1000, realServices);
}
- // REFACTORING PROBLEM. No idea what the difference is with the previous one
- /////
- ///// Set up a test scene
- /////
- /////
- ///// Starts real inventory and asset services, as opposed to mock ones, if true
- ///// This should be the same if simulating two scenes within a standalone
- /////
- //public static TestScene SetupScene(String realServices)
- //{
- // return SetupScene(
- // "Unit test region", UUID.Random(), 1000, 1000, "");
- //}
-
///
/// Set up a test scene
///
@@ -110,7 +91,7 @@ namespace OpenSim.Tests.Common.Setup
///
public static TestScene SetupScene(string name, UUID id, uint x, uint y)
{
- return SetupScene(name, id, x, y,"");
+ return SetupScene(name, id, x, y, "");
}
///
@@ -156,16 +137,12 @@ namespace OpenSim.Tests.Common.Setup
// For now, always started a 'real' authentication service
StartAuthenticationService(testScene, true);
- if (realServices.Contains("inventory"))
- StartInventoryService(testScene, true);
- else
- StartInventoryService(testScene, false);
-
+ LocalInventoryServicesConnector inventoryService = StartInventoryService(testScene, realServices.Contains("inventory"));
StartGridService(testScene, true);
LocalUserAccountServicesConnector userAccountService = StartUserAccountService(testScene);
LocalPresenceServicesConnector presenceService = StartPresenceService(testScene);
- m_inventoryService.PostInitialise();
+ inventoryService.PostInitialise();
assetService.PostInitialise();
userAccountService.PostInitialise();
presenceService.PostInitialise();
@@ -181,11 +158,6 @@ namespace OpenSim.Tests.Common.Setup
testScene.PhysicsScene
= physicsPluginManager.GetPhysicsScene("basicphysics", "ZeroMesher", new IniConfigSource(), "test");
- // It's really not a good idea to use static variables as they carry over between tests, leading to
- // problems that are extremely hard to debug. Really, these static fields need to be eliminated -
- // tests using multiple regions that need to share modules need to find another solution.
- m_inventoryService = null;
-
testScene.RegionInfo.EstateSettings = new EstateSettings();
testScene.LoginsDisabled = false;
@@ -233,9 +205,9 @@ namespace OpenSim.Tests.Common.Setup
//m_authenticationService = service;
}
- private static void StartInventoryService(Scene testScene, bool real)
+ private static LocalInventoryServicesConnector StartInventoryService(Scene testScene, bool real)
{
- ISharedRegionModule inventoryService = new LocalInventoryServicesConnector();
+ LocalInventoryServicesConnector inventoryService = new LocalInventoryServicesConnector();
IConfigSource config = new IniConfigSource();
config.AddConfig("Modules");
config.AddConfig("InventoryService");
@@ -255,7 +227,8 @@ namespace OpenSim.Tests.Common.Setup
inventoryService.AddRegion(testScene);
inventoryService.RegionLoaded(testScene);
testScene.AddRegionModule(inventoryService.Name, inventoryService);
- m_inventoryService = inventoryService;
+
+ return inventoryService;
}
private static LocalGridServicesConnector StartGridService(Scene testScene, bool real)
@@ -423,7 +396,7 @@ namespace OpenSim.Tests.Common.Setup
///
/// Add a root agent.
///
- ///
+ ///
/// This function
///
/// 1) Tells the scene that an agent is coming. Normally, the login service (local if standalone, from the
@@ -434,7 +407,7 @@ namespace OpenSim.Tests.Common.Setup
///
/// This function performs actions equivalent with notifying the scene that an agent is
/// coming and then actually connecting the agent to the scene. The one step missed out is the very first
- ///
+ ///
///
///
///
--
cgit v1.1
From de88227bc486788197b3a7c842c8b60f82b0a29b Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 Mar 2011 22:29:27 +0000
Subject: refactor: simplify part of AddSceneObject() test setup by moving sog
construction into SceneSetupHelpers.CreateSceneObject()
---
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 32 +++++++++++++++++++++++++
1 file changed, 32 insertions(+)
(limited to 'OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs')
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index aa4b285..b7b7383 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -465,5 +465,37 @@ namespace OpenSim.Tests.Common.Setup
return part;
}
+
+ ///
+ /// Create a scene object but do not add it to the scene.
+ ///
+ ///
+ /// UUID always starts at 00000000-0000-0000-0000-000000000001
+ ///
+ /// The number of parts that should be in the scene object
+ ///
+ ///
+ public static SceneObjectGroup CreateSceneObject(int parts, UUID ownerId)
+ {
+ SceneObjectPart rootPart
+ = new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
+ { Name = "part1", UUID = new UUID("00000000-0000-0000-0000-000000000001") };
+ SceneObjectGroup sog = new SceneObjectGroup(rootPart);
+
+ if (parts > 1)
+ {
+ for (int i = 2; i <= parts; i++)
+ {
+ sog.AddPart(
+ new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
+ {
+ Name = string.Format("obj{0}", i),
+ UUID = new UUID(string.Format("00000000-0000-0000-0000-{0:D12}", i))
+ });
+ }
+ }
+
+ return sog;
+ }
}
}
--
cgit v1.1
From d5c7ae5c6b55ae794f630ae55a100b19eef2362c Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 Mar 2011 22:40:23 +0000
Subject: refactor common sop setup parts into a single method
---
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 40 ++++++++++++++-----------
1 file changed, 23 insertions(+), 17 deletions(-)
(limited to 'OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs')
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index b7b7383..87b6389 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -454,9 +454,7 @@ namespace OpenSim.Tests.Common.Setup
///
public static SceneObjectPart AddSceneObject(Scene scene, string name)
{
- SceneObjectPart part
- = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero);
- part.Name = name;
+ SceneObjectPart part = CreateSceneObjectPart(name, UUID.Random(), UUID.Zero);
//part.UpdatePrimFlags(false, false, true);
//part.ObjectFlags |= (uint)PrimFlags.Phantom;
@@ -467,6 +465,20 @@ namespace OpenSim.Tests.Common.Setup
}
///
+ /// Create a scene object part.
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static SceneObjectPart CreateSceneObjectPart(string name, UUID id, UUID ownerId)
+ {
+ return new SceneObjectPart(
+ ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
+ { Name = name, UUID = id };
+ }
+
+ ///
/// Create a scene object but do not add it to the scene.
///
///
@@ -477,25 +489,19 @@ namespace OpenSim.Tests.Common.Setup
///
public static SceneObjectGroup CreateSceneObject(int parts, UUID ownerId)
{
- SceneObjectPart rootPart
- = new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
- { Name = "part1", UUID = new UUID("00000000-0000-0000-0000-000000000001") };
- SceneObjectGroup sog = new SceneObjectGroup(rootPart);
+ SceneObjectGroup sog
+ = new SceneObjectGroup(
+ CreateSceneObjectPart("part1", new UUID("00000000-0000-0000-0000-000000000001"), ownerId));
if (parts > 1)
- {
for (int i = 2; i <= parts; i++)
- {
sog.AddPart(
- new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
- {
- Name = string.Format("obj{0}", i),
- UUID = new UUID(string.Format("00000000-0000-0000-0000-{0:D12}", i))
- });
- }
- }
+ CreateSceneObjectPart(
+ string.Format("obj{0}", i),
+ new UUID(string.Format("00000000-0000-0000-0000-{0:D12}", i)),
+ ownerId));
return sog;
}
}
-}
+}
\ No newline at end of file
--
cgit v1.1
From ebbe3afaf15fa07f4a8d1c2db8795065b852ec8d Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 Mar 2011 23:14:55 +0000
Subject: Add PrimCountModuleTests.TestRemoveOwnerObject().
Also adds SceneSetupHelpers methods to easily create sogs with different part UUIDs
---
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 27 ++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)
(limited to 'OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs')
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index 87b6389..57850c1 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -488,20 +488,37 @@ namespace OpenSim.Tests.Common.Setup
///
///
public static SceneObjectGroup CreateSceneObject(int parts, UUID ownerId)
- {
+ {
+ return CreateSceneObject(parts, ownerId, 0x1);
+ }
+
+ ///
+ /// Create a scene object but do not add it to the scene.
+ ///
+ /// The number of parts that should be in the scene object
+ ///
+ ///
+ /// The hexadecimal last part of the UUID for parts created. A UUID of the form "00000000-0000-0000-0000-{0:XD12}"
+ /// will be given to the root part, and incremented for each part thereafter.
+ ///
+ ///
+ public static SceneObjectGroup CreateSceneObject(int parts, UUID ownerId, int uuidTail)
+ {
+ string rawSogId = string.Format("00000000-0000-0000-0000-{0:X12}", uuidTail);
+
SceneObjectGroup sog
= new SceneObjectGroup(
- CreateSceneObjectPart("part1", new UUID("00000000-0000-0000-0000-000000000001"), ownerId));
+ CreateSceneObjectPart("part0", new UUID(rawSogId), ownerId));
if (parts > 1)
- for (int i = 2; i <= parts; i++)
+ for (int i = 1; i < parts; i++)
sog.AddPart(
CreateSceneObjectPart(
string.Format("obj{0}", i),
- new UUID(string.Format("00000000-0000-0000-0000-{0:D12}", i)),
+ new UUID(string.Format("00000000-0000-0000-0000-{0:X12}", uuidTail + i)),
ownerId));
return sog;
- }
+ }
}
}
\ No newline at end of file
--
cgit v1.1
From 63533412f882fd55c0c40989d97f8a8262bc4e3c Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 6 Apr 2011 18:57:50 +0100
Subject: Improve previous ILandObject method doc.
For test code, take a part name prefix when creating objects, so that these can be more easily identified in the logs
---
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
(limited to 'OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs')
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index 57850c1..709dd78 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -489,32 +489,38 @@ namespace OpenSim.Tests.Common.Setup
///
public static SceneObjectGroup CreateSceneObject(int parts, UUID ownerId)
{
- return CreateSceneObject(parts, ownerId, 0x1);
+ return CreateSceneObject(parts, ownerId, "", 0x1);
}
///
/// Create a scene object but do not add it to the scene.
///
- /// The number of parts that should be in the scene object
+ ///
+ /// The number of parts that should be in the scene object
+ ///
///
+ ///
+ /// The prefix to be given to part names. This will be suffixed with "Part"
+ /// (e.g. mynamePart0 for the root part)
+ ///
///
/// The hexadecimal last part of the UUID for parts created. A UUID of the form "00000000-0000-0000-0000-{0:XD12}"
/// will be given to the root part, and incremented for each part thereafter.
///
///
- public static SceneObjectGroup CreateSceneObject(int parts, UUID ownerId, int uuidTail)
+ public static SceneObjectGroup CreateSceneObject(int parts, UUID ownerId, string partNamePrefix, int uuidTail)
{
string rawSogId = string.Format("00000000-0000-0000-0000-{0:X12}", uuidTail);
SceneObjectGroup sog
= new SceneObjectGroup(
- CreateSceneObjectPart("part0", new UUID(rawSogId), ownerId));
+ CreateSceneObjectPart(string.Format("{0}Part0", partNamePrefix), new UUID(rawSogId), ownerId));
if (parts > 1)
for (int i = 1; i < parts; i++)
sog.AddPart(
CreateSceneObjectPart(
- string.Format("obj{0}", i),
+ string.Format("{0}Part{1}", partNamePrefix, i),
new UUID(string.Format("00000000-0000-0000-0000-{0:X12}", uuidTail + i)),
ownerId));
--
cgit v1.1