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)); } } }