Ryujinx/Ryujinx.HLE/HOS/Tamper/AtmosphereProgram.cs

34 lines
955 B
C#
Raw Normal View History

using Ryujinx.HLE.HOS.Services.Hid;
using Ryujinx.HLE.HOS.Tamper.Operations;
namespace Ryujinx.HLE.HOS.Tamper
{
class AtmosphereProgram : ITamperProgram
{
private Parameter<long> _pressedKeys;
private IOperation _entryPoint;
public string Name { get; }
public bool TampersCodeMemory { get; set; } = false;
public ITamperedProcess Process { get; }
public bool IsEnabled { get; set; }
public AtmosphereProgram(string name, ITamperedProcess process, Parameter<long> pressedKeys, IOperation entryPoint)
{
Name = name;
Process = process;
_pressedKeys = pressedKeys;
_entryPoint = entryPoint;
}
public void Execute(ControllerKeys pressedKeys)
{
if (IsEnabled)
{
_pressedKeys.Value = (long)pressedKeys;
_entryPoint.Execute();
}
}
}
}