示例#1
0
 protected DefaultEntityManager(string assetsPath, string distPath, IList <Localization> localizations, TLoader loader, TWriter writer, LocalizationWriter localizationWriter)
 {
     _assetsPath         = assetsPath;
     _distPath           = distPath;
     _localizations      = localizations;
     _loader             = loader;
     _writer             = writer;
     _localizationWriter = localizationWriter;
 }
示例#2
0
        /// <summary>
        /// Export localization file
        /// </summary>
        /// <param name="parameter">current application view model (<see cref="AppVM"/>)</param>
        public override void Execute(object?parameter)
        {
            if (parameter is AppVM appVM)
            {
                string[] supportedFileFormats =
                {
                    "Binary Chunk|*.chunk",
                    "CSV File|*.csv"
                };

                var of = new SaveFileDialog
                {
                    Filter = string.Join('|', supportedFileFormats)
                };

                if (of.ShowDialog() == true)
                {
                    switch (of.FilterIndex)
                    {
                    // Binary chunk
                    case 1:
                    {
                        using var writer = new LocalizationWriter(new FileStream(of.FileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite));
                        writer.Write(appVM.EntriesNoFilter);
                        break;
                    }

                    // CSV
                    case 2:
                    {
                        using var tw = new StreamWriter(new FileStream(of.FileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite));
                        foreach (var entry in appVM.EntriesNoFilter)
                        {
                            tw.WriteLine($"\"{entry.HashString}\",\"{entry.Value}\"");
                        }

                        break;
                    }
                    }

                    MessageBox.Show("Saved!");
                }
            }
        }
示例#3
0
        public EntitiesManager Create(string assetsPath, string distPath)
        {
            var localizationsLoader = new LocalizationLoader();
            var localizations       = localizationsLoader.LoadFromAssets(assetsPath);
            var localizationWriter  = new LocalizationWriter();
            var heroItemLoader      = new HeroItemLoader(localizations);
            var heroItemWriter      = new HeroItemWriter();
            var heroItemManager     = new HeroItemManager(assetsPath, distPath, localizations, heroItemLoader, heroItemWriter, localizationWriter);
            var skillLoader         = new SkillLoader(localizations);
            var skillWriter         = new SkillWriter();
            var skillManager        = new SkillManager(assetsPath, distPath, localizations, skillLoader, skillWriter, localizationWriter);

            var shipLoader  = new ShipLoader(localizations);
            var shipWriter  = new ShipWriter();
            var shipManager = new ShipManager(assetsPath, distPath, localizations, shipLoader, shipWriter, localizationWriter);

            var localizationProvider = new LocalizationProvider(localizations);
            var heroWriter           = new HeroWriter();
            var heroLoader           = new HeroLoader(localizations, localizationProvider);
            var heroManager          = new HeroManager(assetsPath, distPath, localizations, heroLoader, heroWriter, localizationWriter);

            return(new EntitiesManager(heroItemManager, skillManager, shipManager, heroManager));
        }
示例#4
0
 public ShipManager(string assetsPath, string distPath, IList <Localization> localizations, ShipLoader loader, ShipWriter writer, LocalizationWriter localizationWriter) : base(assetsPath, distPath, localizations, loader, writer, localizationWriter)
 {
 }
示例#5
0
 public HeroManager(string assetsPath, string distPath, IList <Localization> localizations, HeroLoader loader,
                    HeroWriter writer, LocalizationWriter localizationWriter) : base(assetsPath, distPath, localizations,
                                                                                     loader, writer, localizationWriter)
 {
 }