本文整理汇总了C#中IRegistryCore.GetInterfaces方法的典型用法代码示例。如果您正苦于以下问题:C# IRegistryCore.GetInterfaces方法的具体用法?C# IRegistryCore.GetInterfaces怎么用?C# IRegistryCore.GetInterfaces使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IRegistryCore
的用法示例。
在下文中一共展示了IRegistryCore.GetInterfaces方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Start
public void Start(IConfigSource config, IRegistryCore registry)
{
string IARName = "DefaultInventory.iar";
IniConfigSource iniSource = null;
try
{
iniSource = new IniConfigSource("DefaultInventory/Inventory.ini", Nini.Ini.IniFileType.AuroraStyle);
}
catch
{
}
IConfig libConfig = config.Configs["DefaultAssetsIARCreator"];
if (libConfig == null)
libConfig = iniSource.Configs["DefaultAssetsIARCreator"];
if (libConfig != null)
{
if (!libConfig.GetBoolean("Enabled", false))
return;
IARName = libConfig.GetString("NameOfIAR", IARName);
}
else
return;
m_service = registry.RequestModuleInterface<ILibraryService>();
RegionInfo regInfo = new RegionInfo();
IScene m_MockScene = null;
//Make the scene for the IAR loader
if (registry is IScene)
m_MockScene = (IScene)registry;
else
{
m_MockScene = new Scene();
m_MockScene.Initialize(regInfo);
m_MockScene.AddModuleInterfaces(registry.GetInterfaces());
}
UserAccount uinfo = m_MockScene.UserAccountService.GetUserAccount(UUID.Zero, m_service.LibraryOwner);
//Make the user account for the default IAR
if (uinfo == null)
{
uinfo = new UserAccount(m_service.LibraryOwner);
uinfo.Name = m_service.LibraryOwnerName;
m_MockScene.InventoryService.CreateUserInventory(m_service.LibraryOwner, false);
}
List<AssetBase> assets = new List<AssetBase> ();
if (m_MockScene.InventoryService != null)
{
//Add the folders to the user's inventory
InventoryCollection i = m_MockScene.InventoryService.GetFolderContent (m_service.LibraryOwner, UUID.Zero);
if (i != null)
{
foreach (InventoryItemBase item in i.Items)
{
AssetBase asset = m_MockScene.RequestModuleInterface<IAssetService> ().Get (item.AssetID.ToString ());
if (asset != null)
assets.Add (asset);
}
}
}
InventoryFolderBase rootFolder = null;
List<InventoryFolderBase> rootFolders = m_MockScene.InventoryService.GetRootFolders (m_service.LibraryOwner);
foreach (InventoryFolderBase folder in rootFolders)
{
if (folder.Name == "My Inventory")
continue;
rootFolder = folder;
break;
}
if (rootFolder != null)
{
//Save the IAR of the default assets
InventoryArchiveWriteRequest write = new InventoryArchiveWriteRequest (Guid.NewGuid (), null, m_MockScene,
uinfo, "/", new GZipStream (new FileStream (IARName, FileMode.Create), CompressionMode.Compress), true, rootFolder, assets);
write.Execute ();
}
}