From c1b7e9ab55d5a4132a1ac6d05e934f0ded8c18e2 Mon Sep 17 00:00:00 2001 From: PopSlime Date: Fri, 17 Mar 2023 17:56:12 +0800 Subject: [PATCH] Separate extension classes into external assembly. --- .../Crtr/Browsing/ExtensionInterface.cs | 8 -- .../Crtr/Browsing/ExtensionInterface.cs.meta | 11 --- .../Crtr/Browsing/LegacyResourceManager.cs | 1 + .../Crtr/Browsing/LocalResourceFinder.cs | 6 -- .../Crtr/Browsing/LocalResourceFinder.cs.meta | 11 --- .../Crtr/Browsing/ResourceBrowserMaster.cs | 22 +---- .../Crtr/Browsing/ResourceConverter.cs | 79 ------------------ .../Crtr/Browsing/ResourceConverter.cs.meta | 12 --- Assets/Cryville/Crtr/Ruleset.cs | 2 +- Assets/Cryville/Crtr/Skin.cs | 2 +- Assets/Plugins/Cryville.Crtr.Extension.dll | Bin 0 -> 12800 bytes .../Plugins/Cryville.Crtr.Extension.dll.meta | 33 ++++++++ 12 files changed, 37 insertions(+), 150 deletions(-) delete mode 100644 Assets/Cryville/Crtr/Browsing/ExtensionInterface.cs delete mode 100644 Assets/Cryville/Crtr/Browsing/ExtensionInterface.cs.meta delete mode 100644 Assets/Cryville/Crtr/Browsing/LocalResourceFinder.cs delete mode 100644 Assets/Cryville/Crtr/Browsing/LocalResourceFinder.cs.meta delete mode 100644 Assets/Cryville/Crtr/Browsing/ResourceConverter.cs delete mode 100644 Assets/Cryville/Crtr/Browsing/ResourceConverter.cs.meta create mode 100644 Assets/Plugins/Cryville.Crtr.Extension.dll create mode 100644 Assets/Plugins/Cryville.Crtr.Extension.dll.meta diff --git a/Assets/Cryville/Crtr/Browsing/ExtensionInterface.cs b/Assets/Cryville/Crtr/Browsing/ExtensionInterface.cs deleted file mode 100644 index f8c1cdd..0000000 --- a/Assets/Cryville/Crtr/Browsing/ExtensionInterface.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System.Collections.Generic; - -namespace Cryville.Crtr.Browsing { - public abstract class ExtensionInterface { - public abstract IEnumerable GetResourceConverters(); - public abstract IEnumerable GetResourceFinders(); - } -} diff --git a/Assets/Cryville/Crtr/Browsing/ExtensionInterface.cs.meta b/Assets/Cryville/Crtr/Browsing/ExtensionInterface.cs.meta deleted file mode 100644 index c5c3cf4..0000000 --- a/Assets/Cryville/Crtr/Browsing/ExtensionInterface.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4ffe72fef6ebb9e4da3571b4117f0d6d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs b/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs index 32e6e8f..dea87cb 100644 --- a/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs +++ b/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs @@ -1,5 +1,6 @@ using Cryville.Common; using Cryville.Common.Unity; +using Cryville.Crtr.Extension; using Newtonsoft.Json; using System; using System.Collections.Generic; diff --git a/Assets/Cryville/Crtr/Browsing/LocalResourceFinder.cs b/Assets/Cryville/Crtr/Browsing/LocalResourceFinder.cs deleted file mode 100644 index 1cc377d..0000000 --- a/Assets/Cryville/Crtr/Browsing/LocalResourceFinder.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Cryville.Crtr.Browsing { - public abstract class LocalResourceFinder { - public abstract string Name { get; } - public abstract string GetRootPath(); - } -} diff --git a/Assets/Cryville/Crtr/Browsing/LocalResourceFinder.cs.meta b/Assets/Cryville/Crtr/Browsing/LocalResourceFinder.cs.meta deleted file mode 100644 index a36e35d..0000000 --- a/Assets/Cryville/Crtr/Browsing/LocalResourceFinder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f5b3f3294f679f14f8ec1195b0def630 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Cryville/Crtr/Browsing/ResourceBrowserMaster.cs b/Assets/Cryville/Crtr/Browsing/ResourceBrowserMaster.cs index 635e30f..dd942e4 100644 --- a/Assets/Cryville/Crtr/Browsing/ResourceBrowserMaster.cs +++ b/Assets/Cryville/Crtr/Browsing/ResourceBrowserMaster.cs @@ -1,7 +1,7 @@ using Cryville.Common; using Cryville.Common.Unity.UI; using Cryville.Crtr.Config; -using Newtonsoft.Json; +using Cryville.Crtr.Extension; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; @@ -94,24 +94,4 @@ namespace Cryville.Crtr.Browsing { public AsyncDelivery Cover { get; set; } public ChartMeta Meta { get; set; } } - -#pragma warning disable IDE1006 - public class MetaInfo { - public string name { get; set; } - public string author { get; set; } - [JsonRequired] - public string data { get; set; } - } - public class SongMetaInfo { - public string name { get; set; } - public string author { get; set; } - } - public class ChartMeta : MetaInfo { - public SongMetaInfo song { get; set; } - public float length { get; set; } - public string ruleset { get; set; } - public int note_count { get; set; } - public string cover { get; set; } - } -#pragma warning restore IDE1006 } diff --git a/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs b/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs deleted file mode 100644 index a696a5f..0000000 --- a/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs +++ /dev/null @@ -1,79 +0,0 @@ -using Cryville.Common; -using Newtonsoft.Json; -using System.Collections.Generic; -using System.IO; - -namespace Cryville.Crtr.Browsing { - public abstract class ResourceConverter { - public abstract string[] GetSupportedFormats(); - public abstract IEnumerable ConvertFrom(FileInfo file); - } - public abstract class Resource { - protected Resource(string name) { - Name = StringUtils.EscapeFileName(name); - } - public string Name { get; private set; } - public abstract bool Valid { get; } - public override string ToString() { - return string.Format("{0} ({1})", Name, ReflectionHelper.GetSimpleName(GetType())); - } - } - public class RawChartResource : Resource { - public RawChartResource(string name, Chart main, ChartMeta meta) : base(name) { - Main = main; Meta = meta; - } - public Chart Main { get; private set; } - public ChartMeta Meta { get; private set; } - public override bool Valid { get { return true; } } - } - public abstract class FileResource : Resource { - public FileResource(string name, FileInfo master) : base(name) { - Master = master; - Attachments = new List(); - } - public FileInfo Master { get; private set; } - public List Attachments { get; private set; } - public override bool Valid { - get { - if (!Master.Exists) return false; - foreach (var file in Attachments) { - if (!file.Exists) return false; - } - return true; - } - } - } - 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))); - } - } - } - public class SongResource : FileResource { - public SongResource(string name, FileInfo master) : base(name, master) { } - } - 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"))); - } - } - } - 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))); - } - } - } - } -} \ No newline at end of file diff --git a/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs.meta b/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs.meta deleted file mode 100644 index 261bc67..0000000 --- a/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 2546fb1d514348842a14a03531be192d -timeCreated: 1637982768 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Cryville/Crtr/Ruleset.cs b/Assets/Cryville/Crtr/Ruleset.cs index 93e3987..7028514 100644 --- a/Assets/Cryville/Crtr/Ruleset.cs +++ b/Assets/Cryville/Crtr/Ruleset.cs @@ -1,7 +1,7 @@ using Cryville.Common; using Cryville.Common.Collections.Generic; using Cryville.Common.Pdt; -using Cryville.Crtr.Browsing; +using Cryville.Crtr.Extension; using Newtonsoft.Json; using System; using System.Collections.Generic; diff --git a/Assets/Cryville/Crtr/Skin.cs b/Assets/Cryville/Crtr/Skin.cs index a827288..194670e 100644 --- a/Assets/Cryville/Crtr/Skin.cs +++ b/Assets/Cryville/Crtr/Skin.cs @@ -1,7 +1,7 @@ using Cryville.Common; using Cryville.Common.Collections.Generic; using Cryville.Common.Pdt; -using Cryville.Crtr.Browsing; +using Cryville.Crtr.Extension; using Newtonsoft.Json; using System; using System.Collections.Generic; diff --git a/Assets/Plugins/Cryville.Crtr.Extension.dll b/Assets/Plugins/Cryville.Crtr.Extension.dll new file mode 100644 index 0000000000000000000000000000000000000000..cfc4d44237ea7975b17e1d6ba7f6f182c08ff899 GIT binary patch literal 12800 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 literal 0 HcmV?d00001 diff --git a/Assets/Plugins/Cryville.Crtr.Extension.dll.meta b/Assets/Plugins/Cryville.Crtr.Extension.dll.meta new file mode 100644 index 0000000..cfa03b9 --- /dev/null +++ b/Assets/Plugins/Cryville.Crtr.Extension.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: d79db49599a8b74419a35dc3a06a1aee +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: