本文整理汇总了C#中ContentManager.InitializeModule方法的典型用法代码示例。如果您正苦于以下问题:C# ContentManager.InitializeModule方法的具体用法?C# ContentManager.InitializeModule怎么用?C# ContentManager.InitializeModule使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ContentManager
的用法示例。
在下文中一共展示了ContentManager.InitializeModule方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DeployServer
private bool DeployServer(bool bSkipHaks)
{
Console.WriteLine("");
Console.WriteLine("Deploying Server");
Console.WriteLine("Loading Module directory " + sModulePath + "...");
DirectoryResourceRepository directoryResourceRepository = new DirectoryResourceRepository(sModulePath);
ContentManager contentManager = new ContentManager(sClientPath, sServerPath);
NWN2ResourceManager manager = new NWN2ResourceManager();
contentManager.ServerContentItemScanning += (name, status, bBegin) => {
if (!bBegin)
Console.Write(" -> Staging (" + status.ToString() + ")");
else
Console.Write("\nScanning: " + name);
};
contentManager.InitializeModule(directoryResourceRepository);
contentManager.ResetAllResourcesToDefaultServer();
contentManager.ResetScanResults();
checked
{
manager.AddRepository(directoryResourceRepository);
string sModuleName = Path.GetFileNameWithoutExtension(sModulePath);
string sCampaignName = "";
string sTlkPath = "";
foreach (DownloadableResource d in contentManager.GetDownloadableResources())
{
switch (d.Type)
{
case DownloadableResource.FileType.Hak:
if (!bSkipHaks)
{
string hakPath = sHomePath + "\\hak\\" + d.Name;
Console.WriteLine("Adding Hak: " + d.Name);
if (File.Exists(hakPath))
manager.AddRepository(new ERFResourceRepository(hakPath));
else
Console.WriteLine("ERROR - Hak file not found in " + hakPath);
}
break;
case DownloadableResource.FileType.Tlk:
sTlkPath = sHomePath + "\\tlk\\" + d.Name;
if (File.Exists(sTlkPath))
Console.WriteLine("Found TLK: " + d.Name);
else
Console.WriteLine("ERROR - Tlk not found in " + sTlkPath);
break;
}
}
Console.WriteLine("");
Console.WriteLine("Module Name -> " + sModuleName + "\nModule Path -> " + sModulePath + "\nTlk Path -> " + sTlkPath + "\nSkip Haks -> " + bSkipHaks.ToString());
Console.WriteLine("");
Console.WriteLine("Staging Server Content...");
contentManager.StageServerRequiredResources(manager, sCampaignName, sModuleName, sModulePath, sTlkPath, bSkipHaks);
contentManager.SaveModuleList(directoryResourceRepository, true);
Console.WriteLine("");
Console.WriteLine("Staging Server Complete.");
}
return true;
}
示例2: Deploy
public void Deploy()
{
Console.WriteLine("");
Console.WriteLine("Deploying JSON");
Console.WriteLine("Loading Module directory " + sModulePath + "...");
DirectoryResourceRepository directoryResourceRepository = new DirectoryResourceRepository(sModulePath);
ContentManager contentManager = new ContentManager(sClientPath, sServerPath);
NWN2ResourceManager manager = new NWN2ResourceManager();
contentManager.ServerContentItemScanning += (name, status, bBegin) =>
{
if (!bBegin)
Console.Write(" -> Staging (" + status.ToString() + ")");
else
Console.Write("\nScanning: " + name);
};
contentManager.InitializeModule(directoryResourceRepository);
contentManager.ResetAllResourcesToDefaultServer();
contentManager.ResetScanResults();
checked
{
manager.AddRepository(directoryResourceRepository);
string sModuleName = Path.GetFileNameWithoutExtension(sModulePath);
string sTlkPath = "";
foreach (DownloadableResource d in contentManager.GetDownloadableResources())
{
switch (d.Type)
{
case DownloadableResource.FileType.Hak:
string hakPath = sHomePath + "\\hak\\" + d.Name;
Console.WriteLine("Adding Hak: " + d.Name);
if (File.Exists(hakPath))
manager.AddRepository(new ERFResourceRepository(hakPath));
else
Console.WriteLine("ERROR - Hak file not found in " + hakPath);
break;
case DownloadableResource.FileType.Tlk:
sTlkPath = sHomePath + "\\tlk\\" + d.Name;
if (File.Exists(sTlkPath))
Console.WriteLine("Found TLK: " + d.Name);
else
Console.WriteLine("ERROR - Tlk not found in " + sTlkPath);
break;
}
}
KeyValuePair<String, ushort>[] resourceTypes = { new KeyValuePair<String, ushort>("creature", ResUTC),
new KeyValuePair<String, ushort>("door", ResUTD),
new KeyValuePair<String, ushort>("encounter", ResUTE),
new KeyValuePair<String, ushort>("item", ResUTI),
new KeyValuePair<String, ushort>("store", ResUTM),
new KeyValuePair<String, ushort>("placeable", ResUTP),
new KeyValuePair<String, ushort>("tree", ResUTR),
new KeyValuePair<String, ushort>("sound", ResUTS),
new KeyValuePair<String, ushort>("trigger", ResUTT),
new KeyValuePair<String, ushort>("waypoint", ResUTW),
new KeyValuePair<String, ushort>("light", ResULT),
new KeyValuePair<String, ushort>("prefab", ResPFB) };
//ushort[] resourceTypes = { ResUTC, ResUTD, ResUTE, ResUTI, ResUTM, ResUTP, ResUTR, ResUTS, ResUTT, ResUTW, ResULT, ResPFB };
var json = new Newtonsoft.Json.Linq.JObject();
foreach (KeyValuePair<String, ushort> rType in resourceTypes)
{
var jsonArray = new Newtonsoft.Json.Linq.JArray();
foreach (IResourceEntry resource in manager.FindEntriesByType(rType.Value))
{
Console.WriteLine(rType.Key + ": " + resource.FullName);
var gff = new OEIShared.IO.GFF.GFFFile(resource.GetStream(false));
if (gff != null)
{
Newtonsoft.Json.Linq.JObject jsonData = null;
jsonData = new Newtonsoft.Json.Linq.JObject(parseGFF(gff));
//Console.WriteLine(jsonData);
/*
switch (rType.Value)
{
case ResUTC:
var creature = new NWN2Toolset.NWN2.Data.Blueprints.NWN2CreatureBlueprint(gff.TopLevelStruct);
jsonData = new Newtonsoft.Json.Linq.JObject(creature);
break;
case ResUTD:
var door = new NWN2Toolset.NWN2.Data.Blueprints.NWN2DoorBlueprint(gff.TopLevelStruct);
jsonData = new Newtonsoft.Json.Linq.JObject(door);
break;
case ResUTE:
var encounter = new NWN2Toolset.NWN2.Data.Blueprints.NWN2EncounterBlueprint(gff.TopLevelStruct);
jsonData = new Newtonsoft.Json.Linq.JObject(encounter);
//.........这里部分代码省略.........
示例3: DeployClient
private bool DeployClient(bool bSkipHaks, bool bSkipMusic)
{
Console.WriteLine("");
Console.WriteLine("\nDeploying Client");
Console.WriteLine("Loading Module directory " + sModulePath + "...");
DirectoryResourceRepository directoryResourceRepository = new DirectoryResourceRepository(sModulePath);
directoryResourceRepository.PopulateRepository();
Console.WriteLine("Initializing Content Manager...");
ContentManager contentManager = new ContentManager(sClientPath, sServerPath);
contentManager.ContentItemScanning += (name, status, bBegin) =>
{
if (!bBegin)
Console.Write(" -> Staging (" + status.ToString() + ")");
else
Console.Write("\nScanning: " + name);
};
contentManager.ContentItemCompresssing += (name, nType, progress, size) =>
{
switch(nType)
{
case ContentManager.NotificationType.BeginCompress:
Console.WriteLine("Compressing: " + name);
break;
case ContentManager.NotificationType.ProgressCompress:
break;
case ContentManager.NotificationType.EndCompress:
break;
}
};
contentManager.ErrorOccurred += (activity, sResourceName, sErrorMessage) =>
{
Console.WriteLine("ERROR OCCURRED: " + sResourceName + ", e => " + sErrorMessage);
};
contentManager.InitializeModule(directoryResourceRepository);
contentManager.ResetAllResourcesToDefaultServer();
contentManager.ResetScanResults();
Console.WriteLine("Loading Downloadable Resources...");
contentManager.AddDirectoryRepositoryContents(true, directoryResourceRepository, DownloadableResource.FileType.DirectoryEntry);
var moduleDownloadResources = contentManager.GetDownloadableResources();
var downloadableResources = GetDownloadableResources(directoryResourceRepository);
foreach (DownloadableResource r in downloadableResources)
{
if (!moduleDownloadResources.Any(cd => cd.Name.ToLower() == r.Name.ToLower()))
contentManager.AddFile(true, r.FullName, r.Type);
}
foreach (DownloadableResource d in contentManager.GetDownloadableResources())
{
switch(d.Type)
{
case DownloadableResource.FileType.DirectoryEntry:
string resPath = sModulePath + "\\" + d.Name;
if (File.Exists(resPath))
contentManager.AddFile(true, resPath, d.Type);
else
d.ResourceStatus = DownloadableResource.Status.Deleted;
break;
case DownloadableResource.FileType.Hak:
//if(!bSkipHaks)
//{
string hakPath = sHomePath + "\\hak\\" + d.Name;
if (File.Exists(hakPath))
contentManager.AddFile(true, hakPath, d.Type);
else
d.ResourceStatus = DownloadableResource.Status.Deleted;
//}
break;
case DownloadableResource.FileType.Music:
//if(!bSkipMusic)
//{
string musicPath = sHomePath + "\\Music\\" + d.Name;
if (File.Exists(musicPath))
contentManager.AddFile(true, musicPath, d.Type);
else
d.ResourceStatus = DownloadableResource.Status.Deleted;
//}
break;
case DownloadableResource.FileType.Tlk:
string tlkPath = sHomePath + "\\tlk\\" + d.Name;
if (File.Exists(tlkPath))
contentManager.AddFile(true, tlkPath, d.Type);
else
d.ResourceStatus = DownloadableResource.Status.Deleted;
break;
default:
Console.WriteLine("ERROR - Unsupported file type: " + d.Type.ToString());
break;
//.........这里部分代码省略.........