Mesen2/UI/Debugger/ViewModels/ControllerListViewModel.cs
Sour f71d1e53bb Debugger: Re-apply controller buttons turned on in the controller tab after power cycle/reload rom
First frame after reload won't see the buttons as pressed, but they'll be pressed as expected after the first frame
2023-07-30 17:17:08 +09:00

35 lines
842 B
C#

using Avalonia.Controls;
using Mesen.Interop;
using Mesen.ViewModels;
using ReactiveUI.Fody.Helpers;
using System;
using System.Collections.Generic;
namespace Mesen.Debugger.ViewModels
{
public class ControllerListViewModel : ViewModelBase
{
[Reactive] public List<ControllerInputViewModel> Controllers { get; set; } = new();
[Obsolete("For designer only")]
public ControllerListViewModel() : this(ConsoleType.Snes) { }
public ControllerListViewModel(ConsoleType consoleType)
{
if(Design.IsDesignMode) {
return;
}
foreach(int index in DebugApi.GetAvailableInputOverrides()) {
Controllers.Add(new ControllerInputViewModel(consoleType, index));
}
}
public void SetInputOverrides()
{
foreach(ControllerInputViewModel controller in Controllers) {
controller.SetInputOverrides();
}
}
}
}