forked from Mirror/Ryujinx
951700fdd8
* Removed unused usings. * Added back using, now that it's used. * Removed extra whitespace.
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace Ryujinx.HLE.HOS.Tamper.Operations
|
|
{
|
|
class ForBlock : IOperation
|
|
{
|
|
private ulong _count;
|
|
private Register _register;
|
|
private IEnumerable<IOperation> _operations;
|
|
|
|
public ForBlock(ulong count, Register register, IEnumerable<IOperation> operations)
|
|
{
|
|
_count = count;
|
|
_register = register;
|
|
_operations = operations;
|
|
}
|
|
|
|
public ForBlock(ulong count, Register register, params IOperation[] operations)
|
|
{
|
|
_count = count;
|
|
_register = register;
|
|
_operations = operations;
|
|
}
|
|
|
|
public void Execute()
|
|
{
|
|
for (ulong i = 0; i < _count; i++)
|
|
{
|
|
// Set the register and execute the operations so that changing the
|
|
// register during runtime does not break iteration.
|
|
|
|
_register.Set<ulong>(i);
|
|
|
|
foreach (IOperation op in _operations)
|
|
{
|
|
op.Execute();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|