obfuz/Editor/Pipeline.cs

44 lines
837 B
C#
Raw Normal View History

2025-05-04 19:55:10 +08:00
using Obfuz.ObfusPasses;
using System.Collections.Generic;
2025-04-21 09:57:34 +08:00
namespace Obfuz
2025-04-05 19:02:50 +08:00
{
2025-05-04 19:24:14 +08:00
public class Pipeline
2025-04-05 19:02:50 +08:00
{
2025-04-21 09:57:34 +08:00
private readonly List<IObfuscationPass> _passes = new List<IObfuscationPass>();
public bool Empty => _passes.Count == 0;
2025-05-04 19:24:14 +08:00
public Pipeline AddPass(IObfuscationPass pass)
2025-04-21 09:57:34 +08:00
{
_passes.Add(pass);
return this;
}
public void Start()
2025-04-21 09:57:34 +08:00
{
foreach (var pass in _passes)
{
pass.Start();
2025-04-21 09:57:34 +08:00
}
}
public void Stop()
2025-04-21 09:57:34 +08:00
{
foreach (var pass in _passes)
{
pass.Stop();
2025-04-21 09:57:34 +08:00
}
}
2025-04-05 19:02:50 +08:00
public void Run()
2025-04-21 09:57:34 +08:00
{
foreach (var pass in _passes)
{
pass.Process();
2025-04-21 09:57:34 +08:00
}
}
2025-04-05 19:02:50 +08:00
}
}