ryujinx/Ryujinx.HLE/HOS/Tamper/Operations/IfBlock.cs

36 lines
824 B
C#
Raw Normal View History

using Ryujinx.HLE.HOS.Tamper.Conditions;
using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Tamper.Operations
{
class IfBlock : IOperation
{
private ICondition _condition;
private IEnumerable<IOperation> _operations;
public IfBlock(ICondition condition, IEnumerable<IOperation> operations)
{
_condition = condition;
_operations = operations;
}
public IfBlock(ICondition condition, params IOperation[] operations)
{
_operations = operations;
}
public void Execute()
{
if (!_condition.Evaluate())
{
return;
}
foreach (IOperation op in _operations)
{
op.Execute();
}
}
}
}