From 7aa25770595476ce8ff1fb920ec0855672e199c1 Mon Sep 17 00:00:00 2001 From: PopSlime Date: Fri, 17 Mar 2023 17:58:45 +0800 Subject: [PATCH] Move UMG importers to extensions. --- .../Crtr/Browsing/SkinResourceImporter.cs | 20 ----------- Assets/Cryville/Crtr/Extensions/Umg.meta | 8 +++++ .../Umg}/ChartResourceImporter.cs | 14 ++++++-- .../Umg}/ChartResourceImporter.cs.meta | 2 +- .../Cryville/Crtr/Extensions/Umg/Extension.cs | 18 ++++++++++ .../Crtr/Extensions/Umg/Extension.cs.meta | 11 ++++++ .../Umg}/RulesetResourceImporter.cs | 13 +++++-- .../Umg}/RulesetResourceImporter.cs.meta | 2 +- .../Extensions/Umg/SkinResourceImporter.cs | 34 +++++++++++++++++++ .../Umg}/SkinResourceImporter.cs.meta | 2 +- 10 files changed, 97 insertions(+), 27 deletions(-) delete mode 100644 Assets/Cryville/Crtr/Browsing/SkinResourceImporter.cs create mode 100644 Assets/Cryville/Crtr/Extensions/Umg.meta rename Assets/Cryville/Crtr/{Browsing => Extensions/Umg}/ChartResourceImporter.cs (56%) rename Assets/Cryville/Crtr/{Browsing => Extensions/Umg}/ChartResourceImporter.cs.meta (83%) create mode 100644 Assets/Cryville/Crtr/Extensions/Umg/Extension.cs create mode 100644 Assets/Cryville/Crtr/Extensions/Umg/Extension.cs.meta rename Assets/Cryville/Crtr/{Browsing => Extensions/Umg}/RulesetResourceImporter.cs (55%) rename Assets/Cryville/Crtr/{Browsing => Extensions/Umg}/RulesetResourceImporter.cs.meta (83%) create mode 100644 Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs rename Assets/Cryville/Crtr/{Browsing => Extensions/Umg}/SkinResourceImporter.cs.meta (83%) diff --git a/Assets/Cryville/Crtr/Browsing/SkinResourceImporter.cs b/Assets/Cryville/Crtr/Browsing/SkinResourceImporter.cs deleted file mode 100644 index 68addc6..0000000 --- a/Assets/Cryville/Crtr/Browsing/SkinResourceImporter.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Newtonsoft.Json; -using System.Collections.Generic; -using System.IO; -using System.Text; - -namespace Cryville.Crtr.Browsing { - public class SkinResourceImporter : ResourceConverter { - static readonly string[] SUPPORTED_FORMATS = { ".umgs" }; - public override string[] GetSupportedFormats() { - return SUPPORTED_FORMATS; - } - - public override IEnumerable ConvertFrom(FileInfo file) { - using (StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8)) { - var data = JsonConvert.DeserializeObject(reader.ReadToEnd()); - return new Resource[] { new SkinResource(data.name, file) }; - } - } - } -} diff --git a/Assets/Cryville/Crtr/Extensions/Umg.meta b/Assets/Cryville/Crtr/Extensions/Umg.meta new file mode 100644 index 0000000..2a2c538 --- /dev/null +++ b/Assets/Cryville/Crtr/Extensions/Umg.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3fe9f91db8da80f459bcf70ff680644f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cryville/Crtr/Browsing/ChartResourceImporter.cs b/Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs similarity index 56% rename from Assets/Cryville/Crtr/Browsing/ChartResourceImporter.cs rename to Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs index 7472cf9..c30a840 100644 --- a/Assets/Cryville/Crtr/Browsing/ChartResourceImporter.cs +++ b/Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs @@ -1,9 +1,10 @@ -using Newtonsoft.Json; +using Cryville.Crtr.Extension; +using Newtonsoft.Json; using System.Collections.Generic; using System.IO; using System.Text; -namespace Cryville.Crtr.Browsing { +namespace Cryville.Crtr.Extensions.Umg { public class ChartResourceImporter : ResourceConverter { static readonly string[] SUPPORTED_FORMATS = { ".umgc" }; public override string[] GetSupportedFormats() { @@ -19,4 +20,13 @@ namespace Cryville.Crtr.Browsing { } } } + public class ChartResource : FileResource { + public ChartResource(string name, FileInfo master) : base(name, master) { + using (var reader = new StreamReader(master.FullName)) { + var meta = JsonConvert.DeserializeObject(reader.ReadToEnd()); + Attachments.Add(new FileInfo(Path.Combine(master.Directory.FullName, meta.data + ".json"))); + if (meta.cover != null) Attachments.Add(new FileInfo(Path.Combine(master.Directory.FullName, meta.cover))); + } + } + } } diff --git a/Assets/Cryville/Crtr/Browsing/ChartResourceImporter.cs.meta b/Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs.meta similarity index 83% rename from Assets/Cryville/Crtr/Browsing/ChartResourceImporter.cs.meta rename to Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs.meta index 33fe63a..1758722 100644 --- a/Assets/Cryville/Crtr/Browsing/ChartResourceImporter.cs.meta +++ b/Assets/Cryville/Crtr/Extensions/Umg/ChartResourceImporter.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 168366bb891392b42a1d0a6bfa068ff3 +guid: bfcd614ec96fbe543aa2b2f1630aac73 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Cryville/Crtr/Extensions/Umg/Extension.cs b/Assets/Cryville/Crtr/Extensions/Umg/Extension.cs new file mode 100644 index 0000000..28bcda9 --- /dev/null +++ b/Assets/Cryville/Crtr/Extensions/Umg/Extension.cs @@ -0,0 +1,18 @@ +using Cryville.Crtr.Extension; +using System.Collections.Generic; + +namespace Cryville.Crtr.Extensions.Umg { + public class Extension : ExtensionInterface { + public override IEnumerable GetResourceConverters() { + return new ResourceConverter[] { + new ChartResourceImporter(), + new RulesetResourceImporter(), + new SkinResourceImporter(), + }; + } + + public override IEnumerable GetResourceFinders() { + return null; + } + } +} diff --git a/Assets/Cryville/Crtr/Extensions/Umg/Extension.cs.meta b/Assets/Cryville/Crtr/Extensions/Umg/Extension.cs.meta new file mode 100644 index 0000000..2905cb8 --- /dev/null +++ b/Assets/Cryville/Crtr/Extensions/Umg/Extension.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 323b670cbdea58644ac9ba20fc4c1a89 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cryville/Crtr/Browsing/RulesetResourceImporter.cs b/Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs similarity index 55% rename from Assets/Cryville/Crtr/Browsing/RulesetResourceImporter.cs rename to Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs index ad8d1e2..24bf18c 100644 --- a/Assets/Cryville/Crtr/Browsing/RulesetResourceImporter.cs +++ b/Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs @@ -1,9 +1,10 @@ -using Newtonsoft.Json; +using Cryville.Crtr.Extension; +using Newtonsoft.Json; using System.Collections.Generic; using System.IO; using System.Text; -namespace Cryville.Crtr.Browsing { +namespace Cryville.Crtr.Extensions.Umg { public class RulesetResourceImporter : ResourceConverter { static readonly string[] SUPPORTED_FORMATS = { ".umgr" }; public override string[] GetSupportedFormats() { @@ -17,4 +18,12 @@ namespace Cryville.Crtr.Browsing { } } } + public class RulesetResource : FileResource { + public RulesetResource(string name, FileInfo master) : base(name, master) { + using (var reader = new StreamReader(master.FullName)) { + var meta = JsonConvert.DeserializeObject(reader.ReadToEnd()); + Attachments.Add(new FileInfo(Path.Combine(master.Directory.FullName, meta.data + ".pdt"))); + } + } + } } diff --git a/Assets/Cryville/Crtr/Browsing/RulesetResourceImporter.cs.meta b/Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs.meta similarity index 83% rename from Assets/Cryville/Crtr/Browsing/RulesetResourceImporter.cs.meta rename to Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs.meta index 80e70b7..76c9a3b 100644 --- a/Assets/Cryville/Crtr/Browsing/RulesetResourceImporter.cs.meta +++ b/Assets/Cryville/Crtr/Extensions/Umg/RulesetResourceImporter.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f2c1531e76f19a647865f7ec335561cd +guid: 9e856b78a468f644191d62ab489ae089 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs b/Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs new file mode 100644 index 0000000..5420413 --- /dev/null +++ b/Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs @@ -0,0 +1,34 @@ +using Cryville.Crtr.Extension; +using Newtonsoft.Json; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace Cryville.Crtr.Extensions.Umg { + public class SkinResourceImporter : ResourceConverter { + static readonly string[] SUPPORTED_FORMATS = { ".umgs" }; + public override string[] GetSupportedFormats() { + return SUPPORTED_FORMATS; + } + + public override IEnumerable ConvertFrom(FileInfo file) { + using (StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8)) { + var data = JsonConvert.DeserializeObject(reader.ReadToEnd()); + return new Resource[] { new SkinResource(data.name, file) }; + } + } + } + public class SkinResource : FileResource { + public string RulesetName { get; private set; } + public SkinResource(string name, FileInfo master) : base(name, master) { + using (var reader = new StreamReader(master.FullName)) { + var meta = JsonConvert.DeserializeObject(reader.ReadToEnd()); + RulesetName = meta.ruleset; + Attachments.Add(new FileInfo(Path.Combine(master.Directory.FullName, meta.data + ".pdt"))); + foreach (var frame in meta.frames) { + Attachments.Add(new FileInfo(Path.Combine(master.Directory.FullName, frame))); + } + } + } + } +} diff --git a/Assets/Cryville/Crtr/Browsing/SkinResourceImporter.cs.meta b/Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs.meta similarity index 83% rename from Assets/Cryville/Crtr/Browsing/SkinResourceImporter.cs.meta rename to Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs.meta index 5f35443..f52add5 100644 --- a/Assets/Cryville/Crtr/Browsing/SkinResourceImporter.cs.meta +++ b/Assets/Cryville/Crtr/Extensions/Umg/SkinResourceImporter.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9904b4c21758c5046afc341fe2fa8845 +guid: 2afd6abf146c2ee45ab749477b8c7fda MonoImporter: externalObjects: {} serializedVersion: 2