Update meta info data structure.

This commit is contained in:
2022-11-17 12:04:17 +08:00
parent d89e5a2e68
commit a7e6522a57
5 changed files with 22 additions and 26 deletions

View File

@@ -47,11 +47,11 @@ namespace Cryville.Crtr.Browsing {
_cover.sprite = m_coverPlaceholder;
if (data.Cover != null) data.Cover.Destination = DisplayCover;
var meta = data.Meta;
_title.text = string.Format("{0}\n{1}", meta.song.name, meta.chart.name);
_title.text = string.Format("{0}\n{1}", meta.song.name, meta.name);
_desc.text = string.Format(
"Music artist: {0}\nCharter: {1}\nLength: {2}\nNote Count: {3}",
meta.song.author, meta.chart.author,
TimeSpan.FromSeconds(meta.chart.length).ToString(3), meta.note_count
meta.song.author, meta.author,
TimeSpan.FromSeconds(meta.length).ToString(3), meta.note_count
);
}
private void DisplayCover(bool succeeded, Texture2D tex) {

View File

@@ -67,7 +67,7 @@ namespace Cryville.Crtr.Browsing {
using (var reader = new StreamReader(metaFile.FullName)) {
meta = JsonConvert.DeserializeObject<ChartMeta>(reader.ReadToEnd());
name = meta.song.name;
desc = meta.chart.name;
desc = meta.name;
}
}
AsyncDelivery<Texture2D> cover = null;

View File

@@ -97,14 +97,13 @@ namespace Cryville.Crtr.Browsing {
}
#pragma warning disable IDE1006
public struct ChartMeta {
public class MetaInfo {
public string name { get; set; }
public string author { get; set; }
}
public class ChartMeta : MetaInfo {
public MetaInfo song { get; set; }
public MetaInfo chart { get; set; }
public struct MetaInfo {
public string name { get; set; }
public string author { get; set; }
public float length { get; set; }
}
public float length { get; set; }
public string ruleset { get; set; }
public int note_count { get; set; }
public string cover { get; set; }

View File

@@ -25,18 +25,17 @@ namespace Cryville.Crtr.Browsing {
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) {
public abstract class FileResource : Resource {
public FileResource(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; } }
public class CoverResource : FileResource {
public CoverResource(string name, FileInfo src) : base(name, src) { }
}
public class SongResource : FileResource {
public SongResource(string name, FileInfo src) : base(name, src) { }
}
}

View File

@@ -31,7 +31,9 @@ namespace Cryville.Crtr.Extensions.Malody {
}
ChartMeta meta = new ChartMeta() {
song = new ChartMeta.MetaInfo() {
name = src.meta.version,
author = src.meta.creator,
song = new MetaInfo() {
name = src.meta.song.titleorg != null ? src.meta.song.titleorg : src.meta.song.title,
author = src.meta.song.artistorg != null ? src.meta.song.artistorg : src.meta.song.artist,
},
@@ -142,13 +144,9 @@ namespace Cryville.Crtr.Extensions.Malody {
else throw new NotSupportedException();
}
chart.endtime = new BeatTime(endbeat[0] + 4, endbeat[1], endbeat[2]);
meta.chart = new ChartMeta.MetaInfo() {
name = src.meta.version,
author = src.meta.creator,
length = ctime,
};
meta.length = ctime;
meta.note_count = group.notes.Count;
string chartName = string.Format("{0} - {1}", meta.song.name, meta.chart.name);
string chartName = string.Format("{0} - {1}", meta.song.name, meta.name);
if (src.meta.background != null) {
result.Add(new CoverResource(chartName, new FileInfo(file.DirectoryName + "/" + src.meta.background)));
meta.cover = src.meta.background;