Separate extension classes into external assembly.
This commit is contained in:
@@ -1,8 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace Cryville.Crtr.Browsing {
|
|
||||||
public abstract class ExtensionInterface {
|
|
||||||
public abstract IEnumerable<ResourceConverter> GetResourceConverters();
|
|
||||||
public abstract IEnumerable<LocalResourceFinder> GetResourceFinders();
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 4ffe72fef6ebb9e4da3571b4117f0d6d
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@@ -1,5 +1,6 @@
|
|||||||
using Cryville.Common;
|
using Cryville.Common;
|
||||||
using Cryville.Common.Unity;
|
using Cryville.Common.Unity;
|
||||||
|
using Cryville.Crtr.Extension;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@@ -1,6 +0,0 @@
|
|||||||
namespace Cryville.Crtr.Browsing {
|
|
||||||
public abstract class LocalResourceFinder {
|
|
||||||
public abstract string Name { get; }
|
|
||||||
public abstract string GetRootPath();
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f5b3f3294f679f14f8ec1195b0def630
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@@ -1,7 +1,7 @@
|
|||||||
using Cryville.Common;
|
using Cryville.Common;
|
||||||
using Cryville.Common.Unity.UI;
|
using Cryville.Common.Unity.UI;
|
||||||
using Cryville.Crtr.Config;
|
using Cryville.Crtr.Config;
|
||||||
using Newtonsoft.Json;
|
using Cryville.Crtr.Extension;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.SceneManagement;
|
using UnityEngine.SceneManagement;
|
||||||
@@ -94,24 +94,4 @@ namespace Cryville.Crtr.Browsing {
|
|||||||
public AsyncDelivery<Texture2D> Cover { get; set; }
|
public AsyncDelivery<Texture2D> Cover { get; set; }
|
||||||
public ChartMeta Meta { 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
|
|
||||||
}
|
}
|
||||||
|
@@ -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<Resource> 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<FileInfo>();
|
|
||||||
}
|
|
||||||
public FileInfo Master { get; private set; }
|
|
||||||
public List<FileInfo> 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<ChartMeta>(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<Ruleset>(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<Skin>(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)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,12 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2546fb1d514348842a14a03531be192d
|
|
||||||
timeCreated: 1637982768
|
|
||||||
licenseType: Free
|
|
||||||
MonoImporter:
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@@ -1,7 +1,7 @@
|
|||||||
using Cryville.Common;
|
using Cryville.Common;
|
||||||
using Cryville.Common.Collections.Generic;
|
using Cryville.Common.Collections.Generic;
|
||||||
using Cryville.Common.Pdt;
|
using Cryville.Common.Pdt;
|
||||||
using Cryville.Crtr.Browsing;
|
using Cryville.Crtr.Extension;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
using Cryville.Common;
|
using Cryville.Common;
|
||||||
using Cryville.Common.Collections.Generic;
|
using Cryville.Common.Collections.Generic;
|
||||||
using Cryville.Common.Pdt;
|
using Cryville.Common.Pdt;
|
||||||
using Cryville.Crtr.Browsing;
|
using Cryville.Crtr.Extension;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
BIN
Assets/Plugins/Cryville.Crtr.Extension.dll
Normal file
BIN
Assets/Plugins/Cryville.Crtr.Extension.dll
Normal file
Binary file not shown.
33
Assets/Plugins/Cryville.Crtr.Extension.dll.meta
Normal file
33
Assets/Plugins/Cryville.Crtr.Extension.dll.meta
Normal file
@@ -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:
|
Reference in New Issue
Block a user