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; }
/// <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!"); } } }
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)); }
public ShipManager(string assetsPath, string distPath, IList <Localization> localizations, ShipLoader loader, ShipWriter writer, LocalizationWriter localizationWriter) : base(assetsPath, distPath, localizations, loader, writer, localizationWriter) { }
public HeroManager(string assetsPath, string distPath, IList <Localization> localizations, HeroLoader loader, HeroWriter writer, LocalizationWriter localizationWriter) : base(assetsPath, distPath, localizations, loader, writer, localizationWriter) { }