当前位置: 首页>>代码示例>>C#>>正文


C# ContentManager.SaveModuleList方法代码示例

本文整理汇总了C#中ContentManager.SaveModuleList方法的典型用法代码示例。如果您正苦于以下问题:C# ContentManager.SaveModuleList方法的具体用法?C# ContentManager.SaveModuleList怎么用?C# ContentManager.SaveModuleList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ContentManager的用法示例。


在下文中一共展示了ContentManager.SaveModuleList方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
        }
开发者ID:nightrise,项目名称:NWN2StagingTool,代码行数:70,代码来源:StagingModule.cs

示例2: DeployClient


//.........这里部分代码省略.........
                    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;
                }
            }

            Console.WriteLine("\n");
            Console.WriteLine("Staging Client Content...");

            contentManager.StageClientRequiredResources();
            contentManager.ClearDeletedContent();
            contentManager.SaveModuleList(directoryResourceRepository, false);

            Console.WriteLine("");
            Console.WriteLine("Staging Client Complete.");

            return true;
        }
开发者ID:nightrise,项目名称:NWN2StagingTool,代码行数:101,代码来源:StagingModule.cs


注:本文中的ContentManager.SaveModuleList方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。