diff options
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Game.cs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/Game.cs b/MediaBrowser.Controller/Entities/Game.cs index b62a71bd6d..63a04e5207 100644 --- a/MediaBrowser.Controller/Entities/Game.cs +++ b/MediaBrowser.Controller/Entities/Game.cs @@ -23,5 +23,43 @@ namespace MediaBrowser.Controller.Entities /// </summary> /// <value>The game system.</value> public string GameSystem { get; set; } + + /// <summary> + /// Returns true if the game is combined with other games in the same folder + /// </summary> + public bool IsInMixedFolder { get; set; } + + /// <summary> + /// + /// </summary> + public override string MetaLocation + { + get + { + var directoryName = System.IO.Path.GetDirectoryName(Path); + + if (IsInMixedFolder) + { + // It's a file + var baseMetaPath = System.IO.Path.Combine(directoryName, "metadata"); + var fileName = System.IO.Path.GetFileNameWithoutExtension(Path); + + return fileName != null ? System.IO.Path.Combine(baseMetaPath, fileName) : null; + } + + return directoryName; + } + } + + /// <summary> + /// + /// </summary> + protected override bool UseParentPathToCreateResolveArgs + { + get + { + return !IsInMixedFolder; + } + } } } |
