using MediaBrowser.Model.Serialization; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Configuration; using System; using System.Collections.Generic; using MediaBrowser.Model.Users; namespace MediaBrowser.Controller.Entities { /// /// Class GameSystem /// public class GameSystem : Folder, IHasLookupInfo { /// /// Return the id that should be used to key display prefs for this item. /// Default is based on the type for everything except actual generic folders. /// /// The display prefs id. [IgnoreDataMember] public override Guid DisplayPreferencesId { get { return Id; } } [IgnoreDataMember] public override bool SupportsPlayedStatus { get { return false; } } /// /// Gets or sets the game system. /// /// The game system. public string GameSystemName { get; set; } public override List GetUserDataKeys() { var list = base.GetUserDataKeys(); if (!string.IsNullOrEmpty(GameSystemName)) { list.Insert(0, "GameSystem-" + GameSystemName); } return list; } protected override bool GetBlockUnratedValue(UserPolicy config) { // Don't block. Determine by game return false; } public override UnratedItem GetBlockUnratedType() { return UnratedItem.Game; } public GameSystemInfo GetLookupInfo() { var id = GetItemLookupInfo(); id.Path = Path; return id; } [IgnoreDataMember] public override bool SupportsPeople { get { return false; } } } }