osu/osu.Game/Beatmaps/BeatmapMetadata.cs

46 lines
1.3 KiB
C#
Raw Normal View History

// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
2017-10-04 19:52:12 +00:00
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using Newtonsoft.Json;
2017-07-26 04:22:46 +00:00
namespace osu.Game.Beatmaps
{
public class BeatmapMetadata
{
2017-10-04 19:52:12 +00:00
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
2016-12-21 06:47:56 +00:00
2017-10-04 19:52:12 +00:00
public int? BeatmapSetOnlineInfoId { get; set; }
2016-12-21 06:47:56 +00:00
public string Title { get; set; }
public string TitleUnicode { get; set; }
public string Artist { get; set; }
public string ArtistUnicode { get; set; }
[JsonProperty(@"creator")]
public string Author { get; set; }
public string Source { get; set; }
2017-06-07 14:30:52 +00:00
[JsonProperty(@"tags")]
public string Tags { get; set; }
public int PreviewTime { get; set; }
public string AudioFile { get; set; }
public string BackgroundFile { get; set; }
public string[] SearchableTerms => new[]
{
Author,
Artist,
ArtistUnicode,
Title,
TitleUnicode,
Source,
Tags
}.Where(s => !string.IsNullOrEmpty(s)).ToArray();
}
}