Update Cryville.Crtr.Extension.

This commit is contained in:
2023-05-17 20:43:04 +08:00
parent 8d606524fc
commit 5b04426cd3
5 changed files with 16 additions and 16 deletions

View File

@@ -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<ResourceConverter> converters;
if (!ExtensionManager.TryGetConverters(file.Extension, out converters)) return false;
foreach (var converter in converters) {
IEnumerable<Resource> resources = null;
var resources = new List<Resource>();
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();
}
}
}
}

View File

@@ -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<Resource> 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<ChartMeta>(reader.ReadToEnd());
return new Resource[] { new ChartResource(data.name, file) };
ses.AddResource(new ChartResource(data.name, file));
}
}
}

View File

@@ -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<Resource> ConvertFrom(FileInfo file) {
public override void Convert(FileInfo file, ConversionSession ses) {
using (StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8)) {
var data = JsonConvert.DeserializeObject<Ruleset>(reader.ReadToEnd());
return new Resource[] { new RulesetResource(data.name, file) };
ses.AddResource(new RulesetResource(data.name, file));
}
}
}

View File

@@ -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<Resource> ConvertFrom(FileInfo file) {
public override void Convert(FileInfo file, ConversionSession ses) {
using (StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8)) {
var data = JsonConvert.DeserializeObject<Skin>(reader.ReadToEnd());
return new Resource[] { new SkinResource(data.name, file) };
ses.AddResource(new SkinResource(data.name, file));
}
}
}