diff --git a/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs b/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs index af18fe8..a3f4298 100644 --- a/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs +++ b/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs @@ -1,4 +1,4 @@ -using Cryville.Common; +using Cryville.Common; using Cryville.Common.Unity; using Cryville.Crtr.Extension; using Cryville.Crtr.Extensions.Umg; @@ -118,9 +118,12 @@ namespace Cryville.Crtr.Browsing { IEnumerable converters; if (!ExtensionManager.TryGetConverters(file.Extension, out converters)) return false; foreach (var converter in converters) { - IEnumerable resources = null; + var resources = new List(); + var ses = new ConversionSession { + OnResourceAdd = res => resources.Add(res) + }; try { - resources = converter.ConvertFrom(file); + converter.Convert(file, ses); } catch (Exception ex) { LogAndPopupExtra(4, ex, "Failed to import resource: {0}", ex.Message); @@ -271,4 +274,4 @@ namespace Cryville.Crtr.Browsing { }).ToList(); } } -} \ No newline at end of file +} diff --git a/Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs b/Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs index c30a840..28f8240 100644 --- a/Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs +++ b/Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs @@ -1,6 +1,5 @@ -using Cryville.Crtr.Extension; +using Cryville.Crtr.Extension; using Newtonsoft.Json; -using System.Collections.Generic; using System.IO; using System.Text; @@ -11,12 +10,12 @@ namespace Cryville.Crtr.Extensions.Umg { return SUPPORTED_FORMATS; } - public override IEnumerable ConvertFrom(FileInfo file) { + public override void Convert(FileInfo file, ConversionSession ses) { var meta = Path.Combine(file.Directory.FullName, "meta.json"); if (!File.Exists(meta)) throw new FileNotFoundException("Meta file for the chart not found"); using (StreamReader reader = new StreamReader(meta, Encoding.UTF8)) { var data = JsonConvert.DeserializeObject(reader.ReadToEnd()); - return new Resource[] { new ChartResource(data.name, file) }; + ses.AddResource(new ChartResource(data.name, file)); } } } diff --git a/Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs b/Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs index 24bf18c..d0e3e13 100644 --- a/Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs +++ b/Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs @@ -1,6 +1,5 @@ -using Cryville.Crtr.Extension; +using Cryville.Crtr.Extension; using Newtonsoft.Json; -using System.Collections.Generic; using System.IO; using System.Text; @@ -11,10 +10,10 @@ namespace Cryville.Crtr.Extensions.Umg { return SUPPORTED_FORMATS; } - public override IEnumerable ConvertFrom(FileInfo file) { + public override void Convert(FileInfo file, ConversionSession ses) { using (StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8)) { var data = JsonConvert.DeserializeObject(reader.ReadToEnd()); - return new Resource[] { new RulesetResource(data.name, file) }; + ses.AddResource(new RulesetResource(data.name, file)); } } } diff --git a/Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs b/Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs index 5420413..3500c77 100644 --- a/Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs +++ b/Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs @@ -1,6 +1,5 @@ -using Cryville.Crtr.Extension; +using Cryville.Crtr.Extension; using Newtonsoft.Json; -using System.Collections.Generic; using System.IO; using System.Text; @@ -11,10 +10,10 @@ namespace Cryville.Crtr.Extensions.Umg { return SUPPORTED_FORMATS; } - public override IEnumerable ConvertFrom(FileInfo file) { + public override void Convert(FileInfo file, ConversionSession ses) { using (StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8)) { var data = JsonConvert.DeserializeObject(reader.ReadToEnd()); - return new Resource[] { new SkinResource(data.name, file) }; + ses.AddResource(new SkinResource(data.name, file)); } } } diff --git a/Assets/Plugins/Cryville.Crtr.Extension.dll b/Assets/Plugins/Cryville.Crtr.Extension.dll index cfc4d44..95a617f 100644 Binary files a/Assets/Plugins/Cryville.Crtr.Extension.dll and b/Assets/Plugins/Cryville.Crtr.Extension.dll differ