Esempio n. 1
0
        public override string ToString(FormatType format, object supplement = null)
        {
            string constantDesc = GetBriefConstant();
            string designerDesc = GetBriefChartDesigner();
            string allNotesDesc = GetBriefAllNotes();

            switch (format)
            {
            case FormatType.Brief:
                return($"{SongId}.{SongTitle}{constantDesc?.Be($" [{constantDesc}]")}");

            case FormatType.Detail:
                return($"{JacketUrl?.Be(new KouImage(JacketUrl, this).ToKouResourceString())}" +
                       $"{SongId}.{SongTitle}\n" +
                       constantDesc?.Be($"定数:{constantDesc}\n") +
                       Aliases?.Be($"别名:{Aliases.Select(p => p.Alias).ToStringJoin(',')}\n") +
                       SongArtist?.Be($"曲师:{SongArtist}\n") +
                       designerDesc?.Be($"谱师:{designerDesc}\n") +
                       JacketDesigner?.Be($"画师:{JacketDesigner}\n") +
                       SongBpm?.Be($"BPM:{SongBpm}\n") +
                       SongLength?.Be($"歌曲长度:{SongLength}\n") +
                       SongPack?.Be($"曲包:{SongPack.GetKouEnumFirstName().ToTitleCase()}\n") +
                       allNotesDesc?.Be($"总键数:{allNotesDesc}\n"));
            }
            return(null);
        }