From ad7214620f43666aba7a48c4777ee24dbd664b86 Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Mon, 18 May 2009 17:46:14 +0000
Subject: * Re-enable save oar test by loading asset data plugins from test
mock class * Actually spit out the exception caught by the plugin loader -
not much point having plugins throw exceptions if we are just going to ignore
them
---
.../Archiver/Tests/InventoryArchiverTests.cs | 195 +++++++++--------
.../World/Archiver/Tests/ArchiverTests.cs | 240 ++++++++++-----------
OpenSim/Server/Base/ServerUtils.cs | 7 +
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 4 +-
4 files changed, 225 insertions(+), 221 deletions(-)
(limited to 'OpenSim')
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
index 296d4c1..b979a35 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
@@ -66,135 +66,132 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
///
/// Test saving a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet).
///
-// [Test]
-// public void TestSaveIarV0p1()
-// {
-// TestHelper.InMethod();
-// //log4net.Config.XmlConfigurator.Configure();
+ //[Test]
+ public void TestSaveIarV0p1()
+ {
+ TestHelper.InMethod();
+ //log4net.Config.XmlConfigurator.Configure();
-// InventoryArchiverModule archiverModule = new InventoryArchiverModule();
+ InventoryArchiverModule archiverModule = new InventoryArchiverModule();
-// Scene scene = SceneSetupHelpers.SetupScene(false);
-// SceneSetupHelpers.SetupSceneModules(scene, archiverModule);
-// CommunicationsManager cm = scene.CommsManager;
+ Scene scene = SceneSetupHelpers.SetupScene(false);
+ SceneSetupHelpers.SetupSceneModules(scene, archiverModule);
+ CommunicationsManager cm = scene.CommsManager;
-// // Create user
-// string userFirstName = "Jock";
-// string userLastName = "Stirrup";
-// UUID userId = UUID.Parse("00000000-0000-0000-0000-000000000020");
-// cm.UserAdminService.AddUser(userFirstName, userLastName, string.Empty, string.Empty, 1000, 1000, userId);
-// CachedUserInfo userInfo = cm.UserProfileCacheService.GetUserDetails(userId);
-// userInfo.FetchInventory();
+ // Create user
+ string userFirstName = "Jock";
+ string userLastName = "Stirrup";
+ UUID userId = UUID.Parse("00000000-0000-0000-0000-000000000020");
+ cm.UserAdminService.AddUser(userFirstName, userLastName, string.Empty, string.Empty, 1000, 1000, userId);
+ CachedUserInfo userInfo = cm.UserProfileCacheService.GetUserDetails(userId);
+ userInfo.FetchInventory();
-// // Create asset
-// SceneObjectGroup object1;
-// SceneObjectPart part1;
-// {
-// string partName = "My Little Dog Object";
-// UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000040");
-// PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere();
-// Vector3 groupPosition = new Vector3(10, 20, 30);
-// Quaternion rotationOffset = new Quaternion(20, 30, 40, 50);
-// Vector3 offsetPosition = new Vector3(5, 10, 15);
+ // Create asset
+ SceneObjectGroup object1;
+ SceneObjectPart part1;
+ {
+ string partName = "My Little Dog Object";
+ UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000040");
+ PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere();
+ Vector3 groupPosition = new Vector3(10, 20, 30);
+ Quaternion rotationOffset = new Quaternion(20, 30, 40, 50);
+ Vector3 offsetPosition = new Vector3(5, 10, 15);
-// part1
-// = new SceneObjectPart(
-// ownerId, shape, groupPosition, rotationOffset, offsetPosition);
-// part1.Name = partName;
+ part1
+ = new SceneObjectPart(
+ ownerId, shape, groupPosition, rotationOffset, offsetPosition);
+ part1.Name = partName;
-// object1 = new SceneObjectGroup(part1);
-// scene.AddNewSceneObject(object1, false);
-// }
+ object1 = new SceneObjectGroup(part1);
+ scene.AddNewSceneObject(object1, false);
+ }
-// UUID asset1Id = UUID.Parse("00000000-0000-0000-0000-000000000060");
-// AssetBase asset1 = new AssetBase();
-// asset1.FullID = asset1Id;
-// asset1.Data = Encoding.ASCII.GetBytes(SceneObjectSerializer.ToXml2Format(object1));
-// scene.AssetService.Store(asset1);
+ UUID asset1Id = UUID.Parse("00000000-0000-0000-0000-000000000060");
+ AssetBase asset1 = new AssetBase();
+ asset1.FullID = asset1Id;
+ asset1.Data = Encoding.ASCII.GetBytes(SceneObjectSerializer.ToXml2Format(object1));
+ scene.AssetService.Store(asset1);
-// // Create item
-// UUID item1Id = UUID.Parse("00000000-0000-0000-0000-000000000080");
-// InventoryItemBase item1 = new InventoryItemBase();
-// item1.Name = "My Little Dog";
-// item1.AssetID = asset1.FullID;
-// item1.ID = item1Id;
-// item1.Folder = userInfo.RootFolder.FindFolderByPath("Objects").ID;
-// scene.AddInventoryItem(userId, item1);
+ // Create item
+ UUID item1Id = UUID.Parse("00000000-0000-0000-0000-000000000080");
+ InventoryItemBase item1 = new InventoryItemBase();
+ item1.Name = "My Little Dog";
+ item1.AssetID = asset1.FullID;
+ item1.ID = item1Id;
+ item1.Folder = userInfo.RootFolder.FindFolderByPath("Objects").ID;
+ scene.AddInventoryItem(userId, item1);
-// MemoryStream archiveWriteStream = new MemoryStream();
-// archiverModule.OnInventoryArchiveSaved += SaveCompleted;
+ MemoryStream archiveWriteStream = new MemoryStream();
+ archiverModule.OnInventoryArchiveSaved += SaveCompleted;
-// lock (this)
-// {
-// archiverModule.ArchiveInventory(userFirstName, userLastName, "Objects", archiveWriteStream);
-// //AssetServerBase assetServer = (AssetServerBase)scene.CommsManager.AssetCache.AssetServer;
-// //while (assetServer.HasWaitingRequests())
-// // assetServer.ProcessNextRequest();
+ lock (this)
+ {
+ archiverModule.ArchiveInventory(userFirstName, userLastName, "Objects", archiveWriteStream);
+ //AssetServerBase assetServer = (AssetServerBase)scene.CommsManager.AssetCache.AssetServer;
+ //while (assetServer.HasWaitingRequests())
+ // assetServer.ProcessNextRequest();
-// Monitor.Wait(this, 60000);
-// }
+ Monitor.Wait(this, 60000);
+ }
-// byte[] archive = archiveWriteStream.ToArray();
-// MemoryStream archiveReadStream = new MemoryStream(archive);
-// TarArchiveReader tar = new TarArchiveReader(archiveReadStream);
+ byte[] archive = archiveWriteStream.ToArray();
+ MemoryStream archiveReadStream = new MemoryStream(archive);
+ TarArchiveReader tar = new TarArchiveReader(archiveReadStream);
-// InventoryFolderImpl objectsFolder = userInfo.RootFolder.FindFolderByPath("Objects");
+ InventoryFolderImpl objectsFolder = userInfo.RootFolder.FindFolderByPath("Objects");
-// //bool gotControlFile = false;
-// bool gotObject1File = false;
-// //bool gotObject2File = false;
-// string expectedObject1FilePath = string.Format(
-// "{0}{1}/{2}_{3}.xml",
-// ArchiveConstants.INVENTORY_PATH,
-// string.Format(
-// "Objects{0}{1}", ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR, objectsFolder.ID),
-// item1.Name,
-// item1Id);
+ //bool gotControlFile = false;
+ bool gotObject1File = false;
+ //bool gotObject2File = false;
+ string expectedObject1FilePath = string.Format(
+ "{0}{1}/{2}_{3}.xml",
+ ArchiveConstants.INVENTORY_PATH,
+ string.Format(
+ "Objects{0}{1}", ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR, objectsFolder.ID),
+ item1.Name,
+ item1Id);
-///*
// string expectedObject2FileName = string.Format(
// "{0}_{1:000}-{2:000}-{3:000}__{4}.xml",
// part2.Name,
// Math.Round(part2.GroupPosition.X), Math.Round(part2.GroupPosition.Y), Math.Round(part2.GroupPosition.Z),
// part2.UUID);
-// */
-// string filePath;
-// TarArchiveReader.TarEntryType tarEntryType;
+ string filePath;
+ TarArchiveReader.TarEntryType tarEntryType;
-// while (tar.ReadEntry(out filePath, out tarEntryType) != null)
-// {
-// Console.WriteLine("Got {0}", filePath);
+ while (tar.ReadEntry(out filePath, out tarEntryType) != null)
+ {
+ //Console.WriteLine("Got {0}", filePath);
-// /*
// if (ArchiveConstants.CONTROL_FILE_PATH == filePath)
// {
// gotControlFile = true;
// }
-// */
-// if (filePath.StartsWith(ArchiveConstants.INVENTORY_PATH) && filePath.EndsWith(".xml"))
-// {
-// //string fileName = filePath.Remove(0, "Objects/".Length);
+
+ if (filePath.StartsWith(ArchiveConstants.INVENTORY_PATH) && filePath.EndsWith(".xml"))
+ {
+ string fileName = filePath.Remove(0, "Objects/".Length);
-// //if (fileName.StartsWith(part1.Name))
-// //{
-// Assert.That(filePath, Is.EqualTo(expectedObject1FilePath));
-// gotObject1File = true;
-// //}
-// //else if (fileName.StartsWith(part2.Name))
-// //{
-// // Assert.That(fileName, Is.EqualTo(expectedObject2FileName));
-// // gotObject2File = true;
-// //}
-// }
-// }
+ if (fileName.StartsWith(part1.Name))
+ {
+ Assert.That(filePath, Is.EqualTo(expectedObject1FilePath));
+ gotObject1File = true;
+ }
+// else if (fileName.StartsWith(part2.Name))
+// {
+// Assert.That(fileName, Is.EqualTo(expectedObject2FileName));
+// gotObject2File = true;
+// }
+ }
+ }
-// //Assert.That(gotControlFile, Is.True, "No control file in archive");
-// Assert.That(gotObject1File, Is.True, "No item1 file in archive");
-// //Assert.That(gotObject2File, Is.True, "No object2 file in archive");
+// Assert.That(gotControlFile, Is.True, "No control file in archive");
+ Assert.That(gotObject1File, Is.True, "No item1 file in archive");
+// Assert.That(gotObject2File, Is.True, "No object2 file in archive");
-// // TODO: Test presence of more files and contents of files.
-// }
+ // TODO: Test presence of more files and contents of files.
+ }
///
/// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where
diff --git a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
index 2ba94f7..9741399 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
@@ -74,129 +74,129 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
}
}
- /////
- ///// Test saving a V0.2 OpenSim Region Archive.
- /////
- //[Test]
- //public void TestSaveOarV0p2()
- //{
- // TestHelper.InMethod();
- // //log4net.Config.XmlConfigurator.Configure();
-
- // ArchiverModule archiverModule = new ArchiverModule();
- // SerialiserModule serialiserModule = new SerialiserModule();
- // TerrainModule terrainModule = new TerrainModule();
-
- // Scene scene = SceneSetupHelpers.SetupScene(false);
- // SceneSetupHelpers.SetupSceneModules(scene, archiverModule, serialiserModule, terrainModule);
-
- // SceneObjectPart part1;
-
- // // Create and add prim 1
- // {
- // string partName = "My Little Pony";
- // UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000015");
- // PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere();
- // Vector3 groupPosition = new Vector3(10, 20, 30);
- // Quaternion rotationOffset = new Quaternion(20, 30, 40, 50);
- // Vector3 offsetPosition = new Vector3(5, 10, 15);
-
- // part1
- // = new SceneObjectPart(
- // ownerId, shape, groupPosition, rotationOffset, offsetPosition);
- // part1.Name = partName;
-
- // scene.AddNewSceneObject(new SceneObjectGroup(part1), false);
- // }
-
- // SceneObjectPart part2;
-
- // // Create and add prim 2
- // {
- // string partName = "Action Man";
- // UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000016");
- // PrimitiveBaseShape shape = PrimitiveBaseShape.CreateCylinder();
- // Vector3 groupPosition = new Vector3(90, 80, 70);
- // Quaternion rotationOffset = new Quaternion(60, 70, 80, 90);
- // Vector3 offsetPosition = new Vector3(20, 25, 30);
-
- // part2
- // = new SceneObjectPart(
- // ownerId, shape, groupPosition, rotationOffset, offsetPosition);
- // part2.Name = partName;
-
- // scene.AddNewSceneObject(new SceneObjectGroup(part2), false);
- // }
-
- // MemoryStream archiveWriteStream = new MemoryStream();
- // scene.EventManager.OnOarFileSaved += SaveCompleted;
-
- // Guid requestId = new Guid("00000000-0000-0000-0000-808080808080");
+ ///
+ /// Test saving a V0.2 OpenSim Region Archive.
+ ///
+ [Test]
+ public void TestSaveOarV0p2()
+ {
+ TestHelper.InMethod();
+ log4net.Config.XmlConfigurator.Configure();
+
+ ArchiverModule archiverModule = new ArchiverModule();
+ SerialiserModule serialiserModule = new SerialiserModule();
+ TerrainModule terrainModule = new TerrainModule();
+
+ Scene scene = SceneSetupHelpers.SetupScene(false);
+ SceneSetupHelpers.SetupSceneModules(scene, archiverModule, serialiserModule, terrainModule);
+
+ SceneObjectPart part1;
+
+ // Create and add prim 1
+ {
+ string partName = "My Little Pony";
+ UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000015");
+ PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere();
+ Vector3 groupPosition = new Vector3(10, 20, 30);
+ Quaternion rotationOffset = new Quaternion(20, 30, 40, 50);
+ Vector3 offsetPosition = new Vector3(5, 10, 15);
+
+ part1
+ = new SceneObjectPart(
+ ownerId, shape, groupPosition, rotationOffset, offsetPosition);
+ part1.Name = partName;
+
+ scene.AddNewSceneObject(new SceneObjectGroup(part1), false);
+ }
+
+ SceneObjectPart part2;
+
+ // Create and add prim 2
+ {
+ string partName = "Action Man";
+ UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000016");
+ PrimitiveBaseShape shape = PrimitiveBaseShape.CreateCylinder();
+ Vector3 groupPosition = new Vector3(90, 80, 70);
+ Quaternion rotationOffset = new Quaternion(60, 70, 80, 90);
+ Vector3 offsetPosition = new Vector3(20, 25, 30);
+
+ part2
+ = new SceneObjectPart(
+ ownerId, shape, groupPosition, rotationOffset, offsetPosition);
+ part2.Name = partName;
+
+ scene.AddNewSceneObject(new SceneObjectGroup(part2), false);
+ }
+
+ MemoryStream archiveWriteStream = new MemoryStream();
+ scene.EventManager.OnOarFileSaved += SaveCompleted;
+
+ Guid requestId = new Guid("00000000-0000-0000-0000-808080808080");
- // lock (this)
- // {
- // archiverModule.ArchiveRegion(archiveWriteStream, requestId);
- // //AssetServerBase assetServer = (AssetServerBase)scene.CommsManager.AssetCache.AssetServer;
- // //while (assetServer.HasWaitingRequests())
- // // assetServer.ProcessNextRequest();
+ lock (this)
+ {
+ archiverModule.ArchiveRegion(archiveWriteStream, requestId);
+ //AssetServerBase assetServer = (AssetServerBase)scene.CommsManager.AssetCache.AssetServer;
+ //while (assetServer.HasWaitingRequests())
+ // assetServer.ProcessNextRequest();
- // Monitor.Wait(this, 60000);
- // }
+ Monitor.Wait(this, 60000);
+ }
- // Assert.That(m_lastRequestId, Is.EqualTo(requestId));
-
- // byte[] archive = archiveWriteStream.ToArray();
- // MemoryStream archiveReadStream = new MemoryStream(archive);
- // TarArchiveReader tar = new TarArchiveReader(archiveReadStream);
-
- // bool gotControlFile = false;
- // bool gotObject1File = false;
- // bool gotObject2File = false;
- // string expectedObject1FileName = string.Format(
- // "{0}_{1:000}-{2:000}-{3:000}__{4}.xml",
- // part1.Name,
- // Math.Round(part1.GroupPosition.X), Math.Round(part1.GroupPosition.Y), Math.Round(part1.GroupPosition.Z),
- // part1.UUID);
- // string expectedObject2FileName = string.Format(
- // "{0}_{1:000}-{2:000}-{3:000}__{4}.xml",
- // part2.Name,
- // Math.Round(part2.GroupPosition.X), Math.Round(part2.GroupPosition.Y), Math.Round(part2.GroupPosition.Z),
- // part2.UUID);
-
- // string filePath;
- // TarArchiveReader.TarEntryType tarEntryType;
-
- // while (tar.ReadEntry(out filePath, out tarEntryType) != null)
- // {
- // if (ArchiveConstants.CONTROL_FILE_PATH == filePath)
- // {
- // gotControlFile = true;
- // }
- // else if (filePath.StartsWith(ArchiveConstants.OBJECTS_PATH))
- // {
- // string fileName = filePath.Remove(0, ArchiveConstants.OBJECTS_PATH.Length);
-
- // if (fileName.StartsWith(part1.Name))
- // {
- // Assert.That(fileName, Is.EqualTo(expectedObject1FileName));
- // gotObject1File = true;
- // }
- // else if (fileName.StartsWith(part2.Name))
- // {
- // Assert.That(fileName, Is.EqualTo(expectedObject2FileName));
- // gotObject2File = true;
- // }
- // }
- // }
-
- // Assert.That(gotControlFile, Is.True, "No control file in archive");
- // Assert.That(gotObject1File, Is.True, "No object1 file in archive");
- // Assert.That(gotObject2File, Is.True, "No object2 file in archive");
-
- // // TODO: Test presence of more files and contents of files.
- // // Temporary
- // Console.WriteLine("Successfully completed {0}", MethodBase.GetCurrentMethod());
- //}
+ Assert.That(m_lastRequestId, Is.EqualTo(requestId));
+
+ byte[] archive = archiveWriteStream.ToArray();
+ MemoryStream archiveReadStream = new MemoryStream(archive);
+ TarArchiveReader tar = new TarArchiveReader(archiveReadStream);
+
+ bool gotControlFile = false;
+ bool gotObject1File = false;
+ bool gotObject2File = false;
+ string expectedObject1FileName = string.Format(
+ "{0}_{1:000}-{2:000}-{3:000}__{4}.xml",
+ part1.Name,
+ Math.Round(part1.GroupPosition.X), Math.Round(part1.GroupPosition.Y), Math.Round(part1.GroupPosition.Z),
+ part1.UUID);
+ string expectedObject2FileName = string.Format(
+ "{0}_{1:000}-{2:000}-{3:000}__{4}.xml",
+ part2.Name,
+ Math.Round(part2.GroupPosition.X), Math.Round(part2.GroupPosition.Y), Math.Round(part2.GroupPosition.Z),
+ part2.UUID);
+
+ string filePath;
+ TarArchiveReader.TarEntryType tarEntryType;
+
+ while (tar.ReadEntry(out filePath, out tarEntryType) != null)
+ {
+ if (ArchiveConstants.CONTROL_FILE_PATH == filePath)
+ {
+ gotControlFile = true;
+ }
+ else if (filePath.StartsWith(ArchiveConstants.OBJECTS_PATH))
+ {
+ string fileName = filePath.Remove(0, ArchiveConstants.OBJECTS_PATH.Length);
+
+ if (fileName.StartsWith(part1.Name))
+ {
+ Assert.That(fileName, Is.EqualTo(expectedObject1FileName));
+ gotObject1File = true;
+ }
+ else if (fileName.StartsWith(part2.Name))
+ {
+ Assert.That(fileName, Is.EqualTo(expectedObject2FileName));
+ gotObject2File = true;
+ }
+ }
+ }
+
+ Assert.That(gotControlFile, Is.True, "No control file in archive");
+ Assert.That(gotObject1File, Is.True, "No object1 file in archive");
+ Assert.That(gotObject2File, Is.True, "No object2 file in archive");
+
+ // TODO: Test presence of more files and contents of files.
+ // Temporary
+ Console.WriteLine("Successfully completed {0}", MethodBase.GetCurrentMethod());
+ }
///
/// Test loading a V0.2 OpenSim Region Archive.
diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs
index ae0c3d4..d827b86 100644
--- a/OpenSim/Server/Base/ServerUtils.cs
+++ b/OpenSim/Server/Base/ServerUtils.cs
@@ -31,11 +31,14 @@ using System.Reflection;
using System.Xml;
using System.Xml.Serialization;
using System.Text;
+using log4net;
namespace OpenSim.Server.Base
{
public static class ServerUtils
{
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
public static string SLAssetTypeToContentType(int assetType)
{
switch (assetType)
@@ -114,6 +117,9 @@ namespace OpenSim.Server.Base
try
{
+ //m_log.DebugFormat("[PLUGINS]: Loading plugins from {0}", System.IO.Directory.GetCurrentDirectory());
+ //m_log.DebugFormat("[PLUGINS]: Trying to load {0}", dllName);
+
Assembly pluginAssembly = Assembly.LoadFrom(dllName);
foreach (Type pluginType in pluginAssembly.GetTypes())
@@ -141,6 +147,7 @@ namespace OpenSim.Server.Base
}
catch (Exception e)
{
+ m_log.ErrorFormat("Error loading plugin from {0}, exception {1}", dllName, e);
return null;
}
}
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index 258c444..b64b840 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -131,11 +131,11 @@ namespace OpenSim.Tests.Common.Setup
config.AddConfig("AssetService");
config.Configs["Modules"].Set("AssetServices", "LocalAssetServicesConnector");
config.Configs["AssetService"].Set("LocalServiceModule", "OpenSim.Services.AssetService.dll:AssetService");
- config.Configs["AssetService"].Set("StorageProvider", "OpenSim.Data.Null.dll");
+ config.Configs["AssetService"].Set("StorageProvider", "OpenSim.Tests.Common.dll");
assetService.Initialise(config);
assetService.AddRegion(testScene);
assetService.RegionLoaded(testScene);
- //testScene.RegisterModuleInterface((IAssetService)assetService);
+ testScene.AddRegionModule(assetService.Name, assetService);
testScene.SetModuleInterfaces();
--
cgit v1.1