Ejemplo n.º 1
0
        public static async Task Update(string whitelistCacheFileName, string output)
        {
            var api = await LoadAsync(whitelistCacheFileName);

            var spaceEngineers  = new SpaceEngineers();
            var typeDefinitions = await TypeDefinitions.LoadAsync(spaceEngineers.GetInstallPath("Content\\Data"));

            await api.SaveAsync(typeDefinitions, output);
        }
Ejemplo n.º 2
0
        public static async Task <TypeDefinitions> LoadAsync(string path)
        {
            var def       = new TypeDefinitions();
            var terminals = Terminals.Load(Path.Combine(Environment.CurrentDirectory, "terminal.cache"));
            var text      = new SpaceEngineersText();
            await Task.Run(() =>
            {
                var sbcFiles = Directory.EnumerateFiles(path, "*.sbc", SearchOption.AllDirectories);
                Parallel.ForEach(sbcFiles, f => def.Search(f, terminals, text));
            });

            return(def);
        }
Ejemplo n.º 3
0
        public async Task SaveAsync(TypeDefinitions typeDefinitions, string path)
        {
            var generators = new DocumentGenerator[]
            {
                new ApiIndexGenerator(),
                new TypeGenerator(typeDefinitions),
                new MemberGenerator(),
                new NamespaceIndexGenerator(),
                new NamespaceGenerator()
            };

            var directory = new DirectoryInfo(path);

            if (!directory.Exists)
            {
                directory.Create();
            }
            await Task.Run(() =>
            {
                Task.WaitAll(generators.Select(g => g.Generate(directory, this)).ToArray());
            });
        }