public void RefreshDescription() { if (!DisplayInputParams.Get(Device.ProductGuid.ToString(), out var displayName, out var axisP, out var buttonsP, out var povsP) && IsController) { DisplayInputParams.Get(DirectInputDeviceUtils.GetXboxControllerGuid(), out _, out axisP, out buttonsP, out povsP); } DisplayName = displayName ?? FixDisplayName(Device.InstanceName); if (OptionStrictIndices) { DisplayName += $@" (#{Index + 1})"; } Proc(Axis, axisP); Proc(Buttons, buttonsP); Proc(Povs, povsP); void Proc(IEnumerable <IInputProvider> items, DisplayInputParams p) { foreach (var t in items) { t.SetDisplayParams(p?.Name(t.Id), p?.Test(t.Id) ?? true); } } VisibleAxis = Axis.Where(x => x.IsVisible).ToList(); VisibleButtons = Buttons.Where(x => x.IsVisible).ToList(); VisiblePovs = Povs.Where(x => x.IsVisible).ToList(); OnPropertyChanged(nameof(VisibleAxis)); OnPropertyChanged(nameof(VisibleButtons)); OnPropertyChanged(nameof(VisiblePovs)); }
public PlaceholderInputDevice([CanBeNull] string id, string displayName, int index) { Id = id; Index = index; OriginalIniIds = new List <int> { index }; if (id != null && DisplayInputParams.Get(id, out var gotDisplayName, out _axesP, out _buttonsP, out _povsP)) { DisplayName = gotDisplayName; }
public PlaceholderInputDevice([CanBeNull] string instanceId, [CanBeNull] string productId, string displayName, int index) { InstanceId = instanceId; ProductId = productId; Index = index; IsController = DirectInputDeviceUtils.IsController(displayName); OriginalIniIds = new List <int> { index }; if (productId != null && DisplayInputParams.Get(productId, out var gotDisplayName, out _axesP, out _buttonsP, out _povsP)) { DisplayName = gotDisplayName; }
public void RefreshDescription() { DisplayInputParams.Get(Device.ProductGuid.ToString(), out var displayName, out var axisP, out var buttonsP, out var povsP); DisplayName = displayName ?? FixDisplayName(Device.InstanceName); Proc(Axis, axisP); Proc(Buttons, buttonsP); Proc(Povs, povsP); void Proc(IEnumerable <IInputProvider> items, DisplayInputParams p) { foreach (var t in items) { t.SetDisplayParams(p?.Name(t.Id), p?.Test(t.Id) ?? true); } } VisibleAxis = Axis.Where(x => x.IsVisible).ToList(); VisibleButtons = Buttons.Where(x => x.IsVisible).ToList(); VisiblePovs = Povs.Where(x => x.IsVisible).ToList(); OnPropertyChanged(nameof(VisibleAxis)); OnPropertyChanged(nameof(VisibleButtons)); OnPropertyChanged(nameof(VisiblePovs)); }
public static bool Get([NotNull] string guid, out string displayName, out DisplayInputParams axes, out DisplayInputParams buttons, out DisplayInputParams povs) { var file = FilesStorage.Instance.GetContentFile(ContentCategory.Controllers, $"{guid}.json"); if (file.Exists) { try { var jData = JsonExtension.Parse(File.ReadAllText(file.Filename)); displayName = ContentUtils.Translate(jData.GetStringValueOnly("name")); axes = new DisplayInputParams(jData["axis"] ?? jData["axes"] ?? jData["axles"]); buttons = new DisplayInputParams(jData["buttons"]); povs = new DisplayInputParams(jData["pov"] ?? jData["povs"] ?? jData["pointOfViews"]); return(true); } catch (Exception e) { Logging.Warning(e); } } displayName = null; axes = null; buttons = null; povs = null; return(false); }