diff --git a/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs b/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs index 64fbf34..6ba3b91 100644 --- a/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs +++ b/Assets/Cryville/Crtr/Browsing/LegacyResourceManager.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using UnityEngine; +using Logger = Cryville.Common.Logger; namespace Cryville.Crtr.Browsing { internal class LegacyResourceManager : IResourceManager { @@ -117,7 +118,10 @@ namespace Cryville.Crtr.Browsing { foreach (var converter in converters[file.Extension]) { var resources = converter.ConvertFrom(file); foreach (var res in resources) { - if (res is ChartResource) { + if (!res.Valid) { + Logger.Log("main", 3, "Resource", "Attempt to import invalid resource {0}", res); + } + else if (res is ChartResource) { var tres = (ChartResource)res; var dir = new DirectoryInfo(_rootPath + "/charts/" + res.Name); if (!dir.Exists) dir.Create(); @@ -134,6 +138,7 @@ namespace Cryville.Crtr.Browsing { if (!dir.Exists) dir.Create(); var dest = new FileInfo(_rootPath + "/charts/" + res.Name + "/cover" + tres.Source.Extension); if (!dest.Exists) tres.Source.CopyTo(dest.FullName); + } else if (res is SongResource) { var tres = (SongResource)res; diff --git a/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs b/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs index bd58da8..0dfdf98 100644 --- a/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs +++ b/Assets/Cryville/Crtr/Browsing/ResourceConverter.cs @@ -12,6 +12,10 @@ namespace Cryville.Crtr.Browsing { 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 ChartResource : Resource { public ChartResource(string name, Chart main, ChartMeta meta) : base(name) { @@ -19,17 +23,20 @@ namespace Cryville.Crtr.Browsing { } public Chart Main { get; private set; } public ChartMeta Meta { get; private set; } + public override bool Valid { get { return true; } } } public class CoverResource : Resource { public CoverResource(string name, FileInfo src) : base(name) { Source = src; } public FileInfo Source { get; private set; } + public override bool Valid { get { return Source.Exists; } } } public class SongResource : Resource { public SongResource(string name, FileInfo src) : base(name) { Source = src; } public FileInfo Source { get; private set; } + public override bool Valid { get { return Source.Exists; } } } } \ No newline at end of file