using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Text.Json.Serialization;
namespace Ryujinx.Common.Configuration.Hid
{
[JsonConverter(typeof(JsonInputConfigConverter))]
public class InputConfig : INotifyPropertyChanged
{
///
/// The current version of the input file format
///
public const int CurrentVersion = 1;
public int Version { get; set; }
public InputBackendType Backend { get; set; }
///
/// Controller id
///
public string Id { get; set; }
///
/// Controller's Type
///
public ControllerType ControllerType { get; set; }
///
/// Player's Index for the controller
///
public PlayerIndex PlayerIndex { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}