AtmosphereProgram.cs 955 B

123456789101112131415161718192021222324252627282930313233
  1. using Ryujinx.HLE.HOS.Services.Hid;
  2. using Ryujinx.HLE.HOS.Tamper.Operations;
  3. namespace Ryujinx.HLE.HOS.Tamper
  4. {
  5. class AtmosphereProgram : ITamperProgram
  6. {
  7. private Parameter<long> _pressedKeys;
  8. private IOperation _entryPoint;
  9. public string Name { get; }
  10. public bool TampersCodeMemory { get; set; } = false;
  11. public ITamperedProcess Process { get; }
  12. public bool IsEnabled { get; set; }
  13. public AtmosphereProgram(string name, ITamperedProcess process, Parameter<long> pressedKeys, IOperation entryPoint)
  14. {
  15. Name = name;
  16. Process = process;
  17. _pressedKeys = pressedKeys;
  18. _entryPoint = entryPoint;
  19. }
  20. public void Execute(ControllerKeys pressedKeys)
  21. {
  22. if (IsEnabled)
  23. {
  24. _pressedKeys.Value = (long)pressedKeys;
  25. _entryPoint.Execute();
  26. }
  27. }
  28. }
  29. }