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;
}
}
[IgnoreDataMember]
public override bool SupportsInheritedParentImages
{
get
{
return false;
}
}
public override double? GetDefaultPrimaryImageAspectRatio()
{
double value = 16;
value /= 9;
return value;
}
///
/// 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;
}
}
}
}